将下列opl格式代码转化为python:
/*********************************************
* OPL 12.10.0.0 Model
* Author: 13492
* Creation Date: 2025年10月19日 at 上午11:05:52
*********************************************/
range A = 1..391;
range B = 1..51;
range C = 1..18;
range D = 1..10;
range E = 1..3;
range N = 1..4;
//————————————参数————————————//
/*********************************************
* OPL 12.10.0.0 Data
* Author: 13492
* Creation Date: 2025年10月18日 at 下午5:25:48
*********************************************/
float id1[A][1..9]=[[13,2,2900,2500,2300,2000,60,1000,30],
[13,2,2900,2500,2300,2000,60,1000,30],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[13,0.3,500,500,490,490,40,60,20],
[12,2.2,6000,3000,4700,2500,60,1000,1000],
[12,2.2,6000,3000,4700,2500,60,1000,1000],
[12,2.2,6000,3000,4700,2500,60,1000,1000],
[12,2.2,6000,3000,4700,2500,60,1000,1000],
[12,2.2,6000,3000,4700,2500,60,1000,1000],
[12,2.2,6000,3000,4700,2500,60,1000,1000],
[12,2.2,6000,3000,4700,2500,60,1000,1000],
[12,2.2,6000,3000,4700,2500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[10,1.2,3000,2000,2300,1500,60,1000,1000],
[12,1.5,4000,2000,3400,1800,60,1000,1000],
[12,1.5,4000,2000,3400,1800,60,1000,1000],
[12,1.5,4000,2000,3400,1800,60,1000,1000],
[12,1.5,4000,2000,3400,1800,60,1000,1000],
[12,1.5,4000,2000,3400,1800,60,1000,1000],
[12,1.5,4000,2000,3400,1800,60,1000,1000],
[12,1.5,4000,2000,3400,1800,60,1000,1000],
[12,1.5,4000,2000,3400,1800,60,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.9,2300,1500,1500,1000,40,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[10,0.5,1000,1000,800,800,30,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[12,2.3,4000,2500,3000,2000,60,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.8,2000,1000,1600,800,40,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000],
[10,0.5,800,800,600,600,30,1000,1000]];
float id2[C][1..8]=[[705.12,352,38.76,28,465.12,15,20,30],
[668.35,352,77.52,56,468.35,15,20,30],
[568.22,278,155.04,112,368.22,10,15,20],
[676.05,330,116.28,84,436.05,15,20,25],
[679.28,332,155.04,112,439.28,15,20,25],
[566.667,97.6,90.069,29.2,206.667,7,15,1000],
[574.524,479,101.64,132,454.524,20,1000,1000],
[829.312,673,50.82,66,669.312,25,1000,1000],
[514.695,111,90.069,29.2,214.695,6,15,1000],
[729.945,179.4,218.463,70.4,429.945,15,20,1000],
[891.313,218,282.66,91,491.313,15,30,1000],
[259.6,174,50.82,66,159.6,10,1000,1000],
[342.608,216,50.82,66,202.608,15,1000,1000],
[583.317,118.6,166.719,53.2,283.317,10,20,1000],
[626.706,116.4,128.394,41.2,266.706,10,20,1000],
[668.577,145.8,154.266,49.8,368.577,15,30,1000],
[712.617,143.8,192.591,61.8,352.617,13,25,1000],
[794.449,159.4,180.138,58.4,394.449,15,30,1000]];
float fa[C][D]=[[8,0,0,0,0,0,0,0,0,0],
[6,0,0,0,0,0,0,0,0,0],
[4,0,0,0,0,0,0,0,0,0],
[4,8,0,0,0,0,0,0,0,0],
[2,6,0,0,0,0,0,0,0,0],
[0,4,0,0,0,0,0,0,0,0],
[0,2,28,18,0,0,0,0,0,0],
[0,0,16,18,0,0,0,0,0,0],
[0,4,8,12,12,0,0,0,0,0],
[0,0,20,12,24,16,8,0,0,0],
[0,0,0,0,16,16,8,0,0,0],
[0,0,24,12,24,8,20,0,0,0],
[0,0,0,0,0,32,16,32,16,0],
[0,0,0,0,0,24,16,24,16,12],
[0,0,0,0,0,0,24,16,0,6],
[0,0,0,0,0,0,0,12,24,8],
[0,0,0,0,0,0,0,12,16,16],
[0,0,0,0,0,0,0,0,16,10]];
float l[B]=[66,66,66,72,72,72,72,75,75,75,75,67,67,69,69,69,52,52,54,54,54,54,66,66,66,66,66,61,61,61,52,52,52,57,57,57,57,62,62,62,62,69,69,69,66,66,66,66,66,66,70];
float xdw[B]=[2.5,2.5,2.5,1.5,1.5,1.5,1.5,.8,0.8,0.8,0.8,10,10,10,10,10,2.5,2.5,1.5,1.5,1.5,1.5,0.8,0.8,0.8,0.8,0.8,10,10,10,2.5,2.5,2.5,1.5,1.5,1.5,1.5,0.8,0.8,0.8,0.8,1.5,1.5,1.5,0.8,0.8,0.8,0.8,0.8,0.8,10];
float hs[i in A]=id1[i][1];
float dw[i in A]=id1[i][2];
float zs[i in A]=id1[i][3];
float xs[i in A]=id1[i][4];
float zw[i in A]=id1[i][5];
float xw[i in A]=id1[i][6];
float zbt1[i in A]=id1[i][7];
float zbt2[i in A]=id1[i][8];
float zbt3[i in A]=id1[i][9];
float s[i in C]=id2[i][1];
float w[i in C]=id2[i][2];
float cs[i in C]=id2[i][3];
float cw[i in C]=id2[i][4];
float wrs[i in C]=id2[i][5];
float zzt1[i in C]=id2[i][6];
float zzt2[i in C]=id2[i][7];
float zzt3[i in C]=id2[i][8];
// ========== 决策变量 ==========
// 整数变量 ≥ 0
/*dvar int zzd[A][B] in 0..1;
dvar int bc[A][D] in 0..1;*/
dvar int n[A][B][D] in 0..1;
dvar int+ cbz[A][C] in 0..32;
dvar int+ bc[A][D]in 0..1;
dvar int d[D][N] in 0..1; // 二元标志位
dvar float+ m[D];
dvar float+ l0[D];
dvar float+ t0[A][E];
dvar float+ t1[D];
dvar float+ t2[D];
dvar float+ t3[D];
dvar boolean z[D][N];
// minimax 辅助变量 t
dvar float+ t[D];
// ========== 目标函数 ==========
minimize sum(i in D)t[i];
subject to {
//行驶时间计算
/*forall(i in D){
forall(x in A){
forall(y in B){
m[i] >= n[x][y][i] * hs[x];
l0[i]>= n[x][y][i]* l[y];
}
}
t3[i]*m[i]==l0[i]*60;
}*/
//单船装载时间
forall(i in A){
t0[i][1]==sum(j in C)cbz[i][j]*zzt1[j];
t0[i][2]==sum(j in C)cbz[i][j]*zzt2[j];
t0[i][3]==sum(j in C)cbz[i][j]*zzt3[j];
}
//每波次时间
//t1为每波次舰船准备时间最长的装载点时长
forall(i in D){
// 基础约束
forall(y in 1..11)
t1[i] >= sum(x in A)n[x][y][i] * zbt1[x];
forall(y in 17..27)
t1[i] >= sum(x in A) n[x][y][i] * zbt1[x];
forall(y in 31..50)
t1[i] >= sum(x in A) n[x][y][i] * zbt1[x];
forall(y in 12..13)
t1[i] >= sum(x in A) n[x][y][i] * zbt2[x];
forall(y in 14..16)
t1[i] >= sum(x in A) n[x][y][i] * zbt3[x];
forall(y in 28..30)
t1[i] >= sum(x in A) n[x][y][i] * zbt3[x];
t1[i] >= sum(x in A) n[x][51][i] * zbt2[x];
}
// 定义中间变量约束
//t2为每波次编组装载时长最多的装载点时长
forall(i in D){
forall(y in 1..11)
t2[i] >= sum(x in A)n[x][y][i] * t0[x][1] ;
forall(y in 17..27)
t2[i] >= sum(x in A)n[x][y][i] * t0[x][1];
forall(y in 31..50)
t2[i] >= sum(x in A) n[x][y][i] * t0[x][1];
forall(y in 12..13)
t2[i] >= sum(x in A) n[x][y][i] * t0[x][2];
forall(y in 14..16)
t2[i] >= sum(x in A) n[x][y][i] * t0[x][3];
forall(y in 28..30)
t2[i] >= sum(x in A) n[x][y][i] * t0[x][3];
t2[i] >= sum(x in A) n[x][51][i] * t0[x][2];
}
//总时间t
forall(i in D) {
t[i]>=t1[i]+t2[i]+t3[i];
}
//一波不能超过30艘船
forall(k in D)
sum(i in A) (sum(j in B)n[i][j][k] )<= 30;
//一艘船最多在一个装载点出现
forall(i in A)
sum(j in B,k in D)n[i][j][k]<=1;
//一艘船最多一个波次,并且需要同时有装载点
//船在有波次的同时需要有装载点
//每波次的船速需要相等
forall(j in D){
forall(x in A){
forall(y in A){
sum(i in B)n[x][i][j]*hs[x]==sum(i in B)n[y][i][j]*hs[y];
}
}
}
forall(i in A){
forall(j in D)
bc[i][j]==sum(k in B)n[i][k][j];
}
// 编组数量固定
forall(k in D){
forall(j in C)
sum(i in A)(bc[i][k]*cbz[i][j])==fa[j][k];
}
/*——————————————————————————装载限制————————————————————*/
// 物理装载限制 for each d1 vehicle
forall(i in 1..42) {
sum(j in C) cbz[i][j] * w[j] <= zw[i];
sum(j in C) cbz[i][j] * wrs[j] <= zs[i];
sum(j in C) cbz[i][j] * cw[j] <= xw[i];
sum(j in C) cbz[i][j] * cs[j] <= xs[i];
//该船上有编组时必须有对应装载点
sum(j in C) cbz[i][j] <= 10000* sum(j in B,k in D)n[i][j][k];
sum(j in C) cbz[i][j] >= sum(j in B,k in D)n[i][j][k];
// 面积使用85%
sum(j in C) (cbz[i][j] * s[j]) >= zs[i]*0.85 * sum(j in B,k in D)n[i][j][k];
}
forall(i in 43..391) {
sum(j in C) cbz[i][j] * w[j] <= zw[i];
sum(j in C) cbz[i][j] * s[j] <= zs[i];
sum(j in C) cbz[i][j] * cw[j] <= xw[i];
sum(j in C) cbz[i][j] * cs[j] <= xs[i];
//该船上有编组时必须有对应装载点
sum(j in C) cbz[i][j] <= 10000* sum(j in B,k in D)n[i][j][k];
sum(j in C) cbz[i][j] >= sum(j in B,k in D)n[i][j][k];
// 面积使用85%
sum(j in C) (cbz[i][j] * s[j]) >= zs[i]*0.85 * sum(j in B,k in D)n[i][j][k];
}
/*——————————————————————————————————————————————————————————————————————*/
// 单波次地域限制
forall(i in D){
sum(j in A) (sum(k in 1..16)n[j][k][i]) <= z[i][1]*100;
d[i][1] >= z[i][1];
sum(j in A) (sum(k in 17..30)n[j][k][i]) <= z[i][2]*100;
d[i][2] >= z[i][2];
sum(j in A) (sum(k in 31..41)n[j][k][i]) <= z[i][3]*100;
d[i][3] >= z[i][3];
sum(j in A) (sum(k in 42..51)n[j][k][i]) <= z[i][4]*100;
d[i][4] >= z[i][4];
// 一波最多用2个地域
sum(j in N) d[i][j] <= 2;
}
//吨位限制
forall(i in A,j in B ,k in D)
n[i][j][k]*dw[i]<=xdw[j];
// 前两波必须使用制式船只
forall(k in 1..2)
sum(i in 43..391,j in B)n[i][j][k]==0;
}
最新发布