lingo基础入门Day 6——集合遍历函数应用于整数规划

阅读: 评论:0

lingo基础入门Day 6——集合遍历函数应用于整数规划

lingo基础入门Day 6——集合遍历函数应用于整数规划

lingo基础入门Day 6

文章目录

  • lingo基础入门Day 6
      • lingo练习一:集合遍历函数的应用
      • lingo练习二:产生一个向量
      • lingo练习三:
        • 用lingo产生一个10维空间向量X:Xi=i^2,1<=i<=5否则Xi=i^0.5
        • 对刚产生的10维空间向量X,求出前五个元素乘积,后五元素平方和
      • 集合遍历函数的完整格式
      • lingo练习四:整数规划
      • lingo练习五:二维背包问题
      • lingo练习六:规模较大的二维背包问题
      • 使用集合的意义
      • 总结

lingo练习一:集合遍历函数的应用

  • 求出全部货物总重量与总利润

  • 求实际运送货物件数

  • 求实际运送货物总重量

  • 求出全部货物重量乘积

  • 求出所有货物重量最大值与最小值

  • 求出所有货物利润最大值和最小值

    TOTALW = @SUM(ITEM : WEIGHT);
    TOTALP = @SUM(ITEM : PROFIT);SIGMA_X = @SUM(ITEM : X);
    SIGMA_W = @SUM(ITEM : WEIGHT*X);
    P = @PROD(ITEM : WEIGHT);MAX_W = @SUM(ITEM : WEIGHT);
    MIN_W = @SUM(ITEM : WEIGHT);MAX_P = @SUM(ITEM :  PROFIT);
    MIN_P = @SUM(ITEM :  PROFIT);
    

举例:

!Name: 背包问题模型
!Date: 2022-03-16
!Desc: 10件货物的背包问题
;MODEL:SETS:ITEM/1 2 3 4 5 6 7 8 9 10/:WEIGHT, PROFIT,X;ENDSETSDATA:WEIGHT = 6 3 4 5 1 2 3 5 4 2;
PROFIT = 540  200  180  350  60  150  280  450  320  120;ENDDATAMAX = @SUM(ITEM(I):PROFIT(I)*x(I));@SUM(ITEM(I):WEIGHT(I)*X(I))<=30;
@FOR(ITEM(I):@BIN(X(I)));TOTALW = @SUM(ITEM : WEIGHT);
TOTALP = @SUM(ITEM : PROFIT);SIGMA_X = @SUM(ITEM : X);
SIGMA_W = @SUM(ITEM : WEIGHT*X);
P = @PROD(ITEM : WEIGHT);MAX_W = @SUM(ITEM : WEIGHT);
MIN_W = @SUM(ITEM : WEIGHT);MAX_P = @SUM(ITEM :  PROFIT);
MIN_P = @SUM(ITEM :  PROFIT);END

结果显示:

  Global optimal solution found.Objective value:                              2410.000Objective bound:                              2410.000Infeasibilities:                              0.000000Extended solver steps:                               0Total solver iterations:                             0Elapsed runtime seconds:                          0.08Model Class:                                      MILPTotal variables:                     12Nonlinear variables:                  0Integer variables:                   10Total constraints:                    4Nonlinear constraints:                0Total nonzeros:                      42Nonlinear nonzeros:                   0Variable           Value        Reduced CostTOTALW        35.00000            0.000000TOTALP        2650.000            0.000000SIGMA_X        8.000000            0.000000SIGMA_W        30.00000            0.000000P        86400.00            0.000000MAX_W        35.00000            0.000000MIN_W        35.00000            0.000000MAX_P        2650.000            0.000000MIN_P        2650.000            0.000000WEIGHT( 1)        6.000000            0.000000WEIGHT( 2)        3.000000            0.000000WEIGHT( 3)        4.000000            0.000000WEIGHT( 4)        5.000000            0.000000WEIGHT( 5)        1.000000            0.000000WEIGHT( 6)        2.000000            0.000000WEIGHT( 7)        3.000000            0.000000WEIGHT( 8)        5.000000            0.000000WEIGHT( 9)        4.000000            0.000000WEIGHT( 10)        2.000000            0.000000PROFIT( 1)        540.0000            0.000000PROFIT( 2)        200.0000            0.000000PROFIT( 3)        180.0000            0.000000PROFIT( 4)        350.0000            0.000000PROFIT( 5)        60.00000            0.000000PROFIT( 6)        150.0000            0.000000PROFIT( 7)        280.0000            0.000000PROFIT( 8)        450.0000            0.000000PROFIT( 9)        320.0000            0.000000PROFIT( 10)        120.0000            0.000000X( 1)        1.000000           -540.0000X( 2)        1.000000           -200.0000X( 3)        0.000000           -180.0000X( 4)        1.000000           -350.0000X( 5)        0.000000           -60.00000X( 6)        1.000000           -150.0000X( 7)        1.000000           -280.0000X( 8)        1.000000           -450.0000X( 9)        1.000000           -320.0000X( 10)        1.000000           -120.0000Row    Slack or Surplus      Dual Price1        2410.000            1.0000002        0.000000            0.0000003        0.000000            0.0000004        0.000000            0.0000005        0.000000            0.0000006        0.000000            0.0000007        0.000000            0.0000008        0.000000            0.0000009        0.000000            0.00000010        0.000000            0.00000011        0.000000            0.000000

lingo练习二:产生一个向量

用lingo产生一个向量[1 4 9 16 25 36]

model:sets:A/1..6/:x;
endsets@for(A(i):	x(i)=i^2);end

显示结果:

  Feasible solution found.Total solver iterations:                             0Elapsed runtime seconds:                          0.06Model Class:                                     . . .Total variables:                      0Nonlinear variables:                  0Integer variables:                    0Total constraints:                    0Nonlinear constraints:                0Total nonzeros:                       0Nonlinear nonzeros:                   0Variable           ValueX( 1)        1.000000X( 2)        4.000000X( 3)        9.000000X( 4)        16.00000X( 5)        25.00000X( 6)        36.00000Row    Slack or Surplus1        0.0000002        0.0000003        0.0000004        0.0000005        0.0000006        0.000000

用lingo产生一个60维的向量X,Xi=i^0.5

model:sets:A/1..60/:x;
endsets@for(A(i):	x(i)=@sqrt(i));end

显示结果:

  Feasible solution found.Total solver iterations:                             0Elapsed runtime seconds:                          0.06Model Class:                                     . . .Total variables:                      0Nonlinear variables:                  0Integer variables:                    0Total constraints:                    0Nonlinear constraints:                0Total nonzeros:                       0Nonlinear nonzeros:                   0Variable           ValueX( 1)        1.000000		X( 2)        1.414214		X( 3)        1.732051X( 4)        2.000000		X( 5)        2.236012		X( 6)        2.449490X( 7)        2.645751		X( 8)        2.828427		X( 9)        3.000000X( 10)        3.162278	X( 11)        3.316625		X( 12)        3.464102X( 13)        3.605551    X( 14)        3.741657		X( 15)        3.872983	    X( 16)        4.000000X( 17)        4.123106X( 18)        4.242641X( 19)        4.358899X( 20)        4.472136X( 21)        4.582576X( 22)        4.690416X( 23)        4.795832X( 24)        4.898979X( 25)        5.000000X( 26)        5.099020X( 27)        5.196152X( 28)        5.291503X( 29)        5.385165X( 30)        5.477226X( 31)        5.567764X( 32)        5.656854X( 33)        5.744563X( 34)        5.830952X( 35)        5.916080X( 36)        6.000000X( 37)        6.082763X( 38)        6.164414X( 39)        6.244998X( 40)        6.324555X( 41)        6.403124X( 42)        6.480741X( 43)        6.557439X( 44)        6.633250X( 45)        6.708204X( 46)        6.782330X( 47)        6.855655X( 48)        6.928203X( 49)        7.000000X( 50)        7.071068X( 51)        7.141428X( 52)        7.211103X( 53)        7.280110X( 54)        7.348469X( 55)        7.416198X( 56)        7.483315X( 57)        7.549834X( 58)        7.615773X( 59)        7.681146X( 60)        7.745967                                                   

lingo练习三:

用lingo产生一个10维空间向量X:Xi=i2,1<=i<=5否则Xi=i0.5
model:sets:A/1..10/:x;
endsets@for(A(i)|i#LE#5:x(i)=i^2);@for(A(i)|i#GT#5:x(i)=@sqrt(i));end

结果:

  Feasible solution found.Total solver iterations:                             0Elapsed runtime seconds:                          0.06Model Class:                                     . . .Total variables:                      0Nonlinear variables:                  0Integer variables:                    0Total constraints:                    0Nonlinear constraints:                0Total nonzeros:                       0Nonlinear nonzeros:                   0Variable           ValueX( 1)        1.000000X( 2)        4.000000X( 3)        9.000000X( 4)        16.00000X( 5)        25.00000X( 6)        2.449490X( 7)        2.645751X( 8)        2.828427X( 9)        3.000000X( 10)        3.162278Row    Slack or Surplus1        0.0000002        0.0000003        0.0000004        0.0000005        0.0000006        0.0000007        0.0000008        0.0000009        0.00000010        0.000000
对刚产生的10维空间向量X,求出前五个元素乘积,后五元素平方和
model:sets:A/1..10/:x;
endsets@for(A(i)|i#LE#5:x(i)=i^2);@for(A(i)|i#GT#5:x(i)=@sqrt(i));P = @prod(A(i)|i#LE#5: x(i));S = @sum(A(i)|i#GT#5: x(i)*x(i));end

实现结果:

  Feasible solution found.Total solver iterations:                             0Elapsed runtime seconds:                          0.07Model Class:                                     . . .Total variables:                      0Nonlinear variables:                  0Integer variables:                    0Total constraints:                    0Nonlinear constraints:                0Total nonzeros:                       0Nonlinear nonzeros:                   0Variable           ValueP        14400.00S        40.00000X( 1)        1.000000X( 2)        4.000000X( 3)        9.000000X( 4)        16.00000X( 5)        25.00000X( 6)        2.449490X( 7)        2.645751X( 8)        2.828427X( 9)        3.000000X( 10)        3.162278

集合遍历函数的完整格式

完整格式
@FOR(S(I)[|logical_condition]: expression);
@SUM(S(I)[logical_condition]: expression);
@MAX(S(I)[logical_condition]: expression);
@MIN(S(I)[logical_condition]: expression);
@PROD(S(I)[logical_condition]: expression);

lingo练习四:整数规划

五个整数,不相同,和100

如果乘积最大,五个整数应该是多少?

model:sets:A/1..5/:x;
endsetsmax = @prod(A:x);@sum(A:x)=100;@for(A: @GIN(x));X(1)>=0+1;X(2)>=X(1)+1;X(3)>=X(2)+1;X(4)>=X(3)+1;X(5)>=X(4)+1;end

实现结果:

   Local optimal solution found.Objective value:                              3160080.Objective bound:                              3160080.Infeasibilities:                              0.000000Extended solver steps:                               0Total solver iterations:                            24Elapsed runtime seconds:                          1.35Model Class:                                     PINLPTotal variables:                      5Nonlinear variables:                  5Integer variables:                    5Total constraints:                    7Nonlinear constraints:                1Total nonzeros:                      19Nonlinear nonzeros:                   5Variable           Value        Reduced CostX( 1)        18.00000           -175560.0X( 2)        19.00000           -166320.0X( 3)        20.00000           -158004.0X( 4)        21.00000           -150480.0X( 5)        22.00000           -143640.0Row    Slack or Surplus      Dual Price1        3160080.            1.0000002        0.000000            0.0000003        17.00000            0.0000004        0.000000            0.0000005        0.000000            0.0000006        0.000000            0.0000007        0.000000            0.000000

如果乘积最小,五个整数应该是多少?

model:sets:A/1..5/:x;
endsetsmin = @prod(A:x);@sum(A:x)=100;@for(A: @GIN(x));X(1)>=0+1;@FOR(A(I)|I#LT#5: X(I)+1);end

实现结果:

  Local optimal solution found.Objective value:                              2160.000Objective bound:                              2160.000Infeasibilities:                              0.000000Extended solver steps:                               0Total solver iterations:                            35Elapsed runtime seconds:                          0.26Model Class:                                     PINLPTotal variables:                      5Nonlinear variables:                  5Integer variables:                    5Total constraints:                    7Nonlinear constraints:                1Total nonzeros:                      19Nonlinear nonzeros:                   5Variable           Value        Reduced CostX( 1)        1.000000            0.000000X( 2)        2.000000            0.000000X( 3)        3.000000            0.000000X( 4)        4.000000            0.000000X( 5)        90.00000           -516.0000Row    Slack or Surplus      Dual Price1        2160.000           -1.0000002        0.000000           -540.00003        0.000000           -2340.0004        0.000000           -720.00005        0.000000           -180.00006        0.000000            0.0000007        85.00000            0.000000

lingo练习五:二维背包问题

一个40英尺的集装箱最大载重22吨,内部最大容积54立方米,现有六种货物,每种货物一件,重量、体积和运费如下表所示,问如何装在运送货物才能使得运费收入最大(嘉定不考虑货物的形状)?

货物重量/T体积/立方米运费/元
A612500
B1018900
C820700
D5331600
E12251500
F14211200

二维背包问题:

!Name: 背包问题模型
!Date: 2022-03-16
!Desc: 10件货物的背包问题
;MODEL: SETS:ITEM:WEIGHT, VOLUMN, PRICE,X;ENDSETSDATA:ITEM WEIGHT VOLUMN PRICE = 
A		6	12		500
B		10	18		900
C		8	20		700
D		5	33		1600
E		12	25		1500
F		14	21		1200
;ENDDATAMAX = @SUM(ITEM(I):PRICE(I)*X(I));@SUM(ITEM(I):WEIGHT(I)*X(I))<=22;
@SUM(ITEM: VOLUMN*X)<=54;
@FOR(ITEM(I):@BIN(X(I)));TOTALW = @SUM(ITEM : WEIGHT);
TOTALP = @SUM(ITEM : PRICE);SIGMA_X = @SUM(ITEM : X);
SIGMA_W = @SUM(ITEM : WEIGHT*X);END

实际结果:

  Global optimal solution found.Objective value:                              2800.000Objective bound:                              2800.000Infeasibilities:                              0.000000Extended solver steps:                               0Total solver iterations:                             0Elapsed runtime seconds:                          0.08Model Class:                                      MILPTotal variables:                      8Nonlinear variables:                  0Integer variables:                    6Total constraints:                    5Nonlinear constraints:                0Total nonzeros:                      32Nonlinear nonzeros:                   0Variable           Value        Reduced CostTOTALW        55.00000            0.000000TOTALP        6400.000            0.000000SIGMA_X        2.000000            0.000000SIGMA_W        19.00000            0.000000WEIGHT( A)        6.000000            0.000000WEIGHT( B)        10.00000            0.000000WEIGHT( C)        8.000000            0.000000WEIGHT( D)        5.000000            0.000000WEIGHT( E)        12.00000            0.000000WEIGHT( F)        14.00000            0.000000VOLUMN( A)        12.00000            0.000000VOLUMN( B)        18.00000            0.000000VOLUMN( C)        20.00000            0.000000VOLUMN( D)        33.00000            0.000000VOLUMN( E)        25.00000            0.000000VOLUMN( F)        21.00000            0.000000PRICE( A)        500.0000            0.000000PRICE( B)        900.0000            0.000000PRICE( C)        700.0000            0.000000PRICE( D)        1600.000            0.000000PRICE( E)        1500.000            0.000000PRICE( F)        1200.000            0.000000X( A)        0.000000           -500.0000X( B)        0.000000           -900.0000X( C)        0.000000           -700.0000X( D)        1.000000           -1600.000X( E)        0.000000           -1500.000X( F)        1.000000           -1200.000Row    Slack or Surplus      Dual Price1        2800.000            1.0000002        3.000000            0.0000003        0.000000            0.0000004        0.000000            0.0000005        0.000000            0.0000006        0.000000            0.0000007        0.000000            0.000000

lingo练习六:规模较大的二维背包问题

一节某种型号的铁路车棚车厢内部最大容积130立方米,最大载重60吨,现有60中货物,每种一件,重量体积运费如下,如何装运货物才能运费收入最大(不考虑货物形状)?

货物重量体积运费
1614500
284900
3108700
41220900
514111000
616141100
718171200
86201300
912231400
1014261500
1126141600
1228161700
139101800
1412121200
1514141600
161616800
171818800
18206600
1922121400
201491200
214121000
22814800
232016600
241118400
2514202800
2617223200
2720141700
28234500
29268700
301410900
3116121100
3218141300
3320161500
3422181700
3524201900
3626222100
3728242300
3810262500
3912281300
4014301500
4116121700
4218141900
4320162100
442282300
4524102500
4626112700
4728142900
4830263100
4912283300
5014303500
5116123200
528141500
5310161400
541181300
5514101200
5616111100
5711141000
581016900
59511800
60610700
!Name: 背包问题模型
!Date: 2022-03-16
!Desc: 10件货物的背包问题
;MODEL: SETS:ITEM:WEIGHT, VOLUMN, PRICE,X;ENDSETSDATA:ITEM WEIGHT VOLUMN PRICE = 
1	6	14	500
2	8	4	900
3	10	8	700
4	12	20	900
5	14	11	1000
6	16	14	1100
7	18	17	1200
8	6	20	1300
9	12	23	1400
10	14	26	1500
11	26	14	1600
12	28	16	1700
13	9	10	1800
14	12	12	1200
15	14	14	1600
16	16	16	800
17	18	18	800
18	20	6	600
19	22	12	1400
20	14	9	1200
21	4	12	1000
22	8	14	800
23	20	16	600
24	11	18	400
25	14	20	2800
26	17	22	3200
27	20	14	1700
28	23	4	500
29	26	8	700
30	14	10	900
31	16	12	1100
32	18	14	1300
33	20	16	1500
34	22	18	1700
35	24	20	1900
36	26	22	2100
37	28	24	2300
38	10	26	2500
39	12	28	1300
40	14	30	1500
41	16	12	1700
42	18	14	1900
43	20	16	2100
44	22	8	2300
45	24	10	2500
46	26	11	2700
47	28	14	2900
48	30	26	3100
49	12	28	3300
50	14	30	3500
51	16	12	3200
52	8	14	1500
53	10	16	1400
54	11	8	1300
55	14	10	1200
56	16	11	1100
57	11	14	1000
58	10	16	900
59	5	11	800
60	6	10	700;ENDDATAMAX = @SUM(ITEM(I):PRICE(I)*X(I));@SUM(ITEM(I):WEIGHT(I)*X(I))<=60;
@SUM(ITEM: VOLUMN*X)<=130;
@FOR(ITEM(I):@BIN(X(I)));TOTALW = @SUM(ITEM : WEIGHT);
TOTALP = @SUM(ITEM : PRICE);SIGMA_X = @SUM(ITEM : X);
SIGMA_W = @SUM(ITEM : WEIGHT*X);END

实现结果:

  Global optimal solution found.Objective value:                              14000.00Objective bound:                              14000.00Infeasibilities:                              0.000000Extended solver steps:                               0Total solver iterations:                             0Elapsed runtime seconds:                          0.09Model Class:                                      MILPTotal variables:                     62Nonlinear variables:                  0Integer variables:                   60Total constraints:                    5Nonlinear constraints:                0Total nonzeros:                     302Nonlinear nonzeros:                   0Variable           Value        Reduced CostTOTALW        959.0000            0.000000TOTALP        92100.00            0.000000SIGMA_X        5.000000            0.000000SIGMA_W        60.00000            0.000000WEIGHT( 1)        6.000000            0.000000WEIGHT( 2)        8.000000            0.000000WEIGHT( 3)        10.00000            0.000000WEIGHT( 4)        12.00000            0.000000WEIGHT( 5)        14.00000            0.000000WEIGHT( 6)        16.00000            0.000000WEIGHT( 7)        18.00000            0.000000WEIGHT( 8)        6.000000            0.000000WEIGHT( 9)        12.00000            0.000000WEIGHT( 10)        14.00000            0.000000WEIGHT( 11)        26.00000            0.000000WEIGHT( 12)        28.00000            0.000000WEIGHT( 13)        9.000000            0.000000WEIGHT( 14)        12.00000            0.000000WEIGHT( 15)        14.00000            0.000000WEIGHT( 16)        16.00000            0.000000WEIGHT( 17)        18.00000            0.000000WEIGHT( 18)        20.00000            0.000000WEIGHT( 19)        22.00000            0.000000WEIGHT( 20)        14.00000            0.000000WEIGHT( 21)        4.000000            0.000000WEIGHT( 22)        8.000000            0.000000WEIGHT( 23)        20.00000            0.000000WEIGHT( 24)        11.00000            0.000000WEIGHT( 25)        14.00000            0.000000WEIGHT( 26)        17.00000            0.000000WEIGHT( 27)        20.00000            0.000000WEIGHT( 28)        23.00000            0.000000WEIGHT( 29)        26.00000            0.000000WEIGHT( 30)        14.00000            0.000000WEIGHT( 31)        16.00000            0.000000WEIGHT( 32)        18.00000            0.000000WEIGHT( 33)        20.00000            0.000000WEIGHT( 34)        22.00000            0.000000WEIGHT( 35)        24.00000            0.000000WEIGHT( 36)        26.00000            0.000000WEIGHT( 37)        28.00000            0.000000WEIGHT( 38)        10.00000            0.000000WEIGHT( 39)        12.00000            0.000000WEIGHT( 40)        14.00000            0.000000WEIGHT( 41)        16.00000            0.000000WEIGHT( 42)        18.00000            0.000000WEIGHT( 43)        20.00000            0.000000WEIGHT( 44)        22.00000            0.000000WEIGHT( 45)        24.00000            0.000000WEIGHT( 46)        26.00000            0.000000WEIGHT( 47)        28.00000            0.000000WEIGHT( 48)        30.00000            0.000000WEIGHT( 49)        12.00000            0.000000WEIGHT( 50)        14.00000            0.000000WEIGHT( 51)        16.00000            0.000000WEIGHT( 52)        8.000000            0.000000WEIGHT( 53)        10.00000            0.000000WEIGHT( 54)        11.00000            0.000000WEIGHT( 55)        14.00000            0.000000WEIGHT( 56)        16.00000            0.000000WEIGHT( 57)        11.00000            0.000000WEIGHT( 58)        10.00000            0.000000WEIGHT( 59)        5.000000            0.000000WEIGHT( 60)        6.000000            0.000000VOLUMN( 1)        14.00000            0.000000VOLUMN( 2)        4.000000            0.000000VOLUMN( 3)        8.000000            0.000000VOLUMN( 4)        20.00000            0.000000VOLUMN( 5)        11.00000            0.000000VOLUMN( 6)        14.00000            0.000000VOLUMN( 7)        17.00000            0.000000VOLUMN( 8)        20.00000            0.000000VOLUMN( 9)        23.00000            0.000000VOLUMN( 10)        26.00000            0.000000VOLUMN( 11)        14.00000            0.000000VOLUMN( 12)        16.00000            0.000000VOLUMN( 13)        10.00000            0.000000VOLUMN( 14)        12.00000            0.000000VOLUMN( 15)        14.00000            0.000000VOLUMN( 16)        16.00000            0.000000VOLUMN( 17)        18.00000            0.000000VOLUMN( 18)        6.000000            0.000000VOLUMN( 19)        12.00000            0.000000VOLUMN( 20)        9.000000            0.000000VOLUMN( 21)        12.00000            0.000000VOLUMN( 22)        14.00000            0.000000VOLUMN( 23)        16.00000            0.000000VOLUMN( 24)        18.00000            0.000000VOLUMN( 25)        20.00000            0.000000VOLUMN( 26)        22.00000            0.000000VOLUMN( 27)        14.00000            0.000000VOLUMN( 28)        4.000000            0.000000VOLUMN( 29)        8.000000            0.000000VOLUMN( 30)        10.00000            0.000000VOLUMN( 31)        12.00000            0.000000VOLUMN( 32)        14.00000            0.000000VOLUMN( 33)        16.00000            0.000000VOLUMN( 34)        18.00000            0.000000VOLUMN( 35)        20.00000            0.000000VOLUMN( 36)        22.00000            0.000000VOLUMN( 37)        24.00000            0.000000VOLUMN( 38)        26.00000            0.000000VOLUMN( 39)        28.00000            0.000000VOLUMN( 40)        30.00000            0.000000VOLUMN( 41)        12.00000            0.000000VOLUMN( 42)        14.00000            0.000000VOLUMN( 43)        16.00000            0.000000VOLUMN( 44)        8.000000            0.000000VOLUMN( 45)        10.00000            0.000000VOLUMN( 46)        11.00000            0.000000VOLUMN( 47)        14.00000            0.000000VOLUMN( 48)        26.00000            0.000000VOLUMN( 49)        28.00000            0.000000VOLUMN( 50)        30.00000            0.000000VOLUMN( 51)        12.00000            0.000000VOLUMN( 52)        14.00000            0.000000VOLUMN( 53)        16.00000            0.000000VOLUMN( 54)        8.000000            0.000000VOLUMN( 55)        10.00000            0.000000VOLUMN( 56)        11.00000            0.000000VOLUMN( 57)        14.00000            0.000000VOLUMN( 58)        16.00000            0.000000VOLUMN( 59)        11.00000            0.000000VOLUMN( 60)        10.00000            0.000000PRICE( 1)        500.0000            0.000000PRICE( 2)        900.0000            0.000000PRICE( 3)        700.0000            0.000000PRICE( 4)        900.0000            0.000000PRICE( 5)        1000.000            0.000000PRICE( 6)        1100.000            0.000000PRICE( 7)        1200.000            0.000000PRICE( 8)        1300.000            0.000000PRICE( 9)        1400.000            0.000000PRICE( 10)        1500.000            0.000000PRICE( 11)        1600.000            0.000000PRICE( 12)        1700.000            0.000000PRICE( 13)        1800.000            0.000000PRICE( 14)        1200.000            0.000000PRICE( 15)        1600.000            0.000000PRICE( 16)        800.0000            0.000000PRICE( 17)        800.0000            0.000000PRICE( 18)        600.0000            0.000000PRICE( 19)        1400.000            0.000000PRICE( 20)        1200.000            0.000000PRICE( 21)        1000.000            0.000000PRICE( 22)        800.0000            0.000000PRICE( 23)        600.0000            0.000000PRICE( 24)        400.0000            0.000000PRICE( 25)        2800.000            0.000000PRICE( 26)        3200.000            0.000000PRICE( 27)        1700.000            0.000000PRICE( 28)        500.0000            0.000000PRICE( 29)        700.0000            0.000000PRICE( 30)        900.0000            0.000000PRICE( 31)        1100.000            0.000000PRICE( 32)        1300.000            0.000000PRICE( 33)        1500.000            0.000000PRICE( 34)        1700.000            0.000000PRICE( 35)        1900.000            0.000000PRICE( 36)        2100.000            0.000000PRICE( 37)        2300.000            0.000000PRICE( 38)        2500.000            0.000000PRICE( 39)        1300.000            0.000000PRICE( 40)        1500.000            0.000000PRICE( 41)        1700.000            0.000000PRICE( 42)        1900.000            0.000000PRICE( 43)        2100.000            0.000000PRICE( 44)        2300.000            0.000000PRICE( 45)        2500.000            0.000000PRICE( 46)        2700.000            0.000000PRICE( 47)        2900.000            0.000000PRICE( 48)        3100.000            0.000000PRICE( 49)        3300.000            0.000000PRICE( 50)        3500.000            0.000000PRICE( 51)        3200.000            0.000000PRICE( 52)        1500.000            0.000000PRICE( 53)        1400.000            0.000000PRICE( 54)        1300.000            0.000000PRICE( 55)        1200.000            0.000000PRICE( 56)        1100.000            0.000000PRICE( 57)        1000.000            0.000000PRICE( 58)        900.0000            0.000000PRICE( 59)        800.0000            0.000000PRICE( 60)        700.0000            0.000000X( 1)        0.000000           -500.0000X( 2)        0.000000           -900.0000X( 3)        0.000000           -700.0000X( 4)        0.000000           -900.0000X( 5)        0.000000           -1000.000X( 6)        0.000000           -1100.000X( 7)        0.000000           -1200.000X( 8)        0.000000           -1300.000X( 9)        0.000000           -1400.000X( 10)        0.000000           -1500.000X( 11)        0.000000           -1600.000X( 12)        0.000000           -1700.000X( 13)        0.000000           -1800.000X( 14)        0.000000           -1200.000X( 15)        0.000000           -1600.000X( 16)        0.000000           -800.0000X( 17)        0.000000           -800.0000X( 18)        0.000000           -600.0000X( 19)        0.000000           -1400.000X( 20)        0.000000           -1200.000X( 21)        0.000000           -1000.000X( 22)        0.000000           -800.0000X( 23)        0.000000           -600.0000X( 24)        0.000000           -400.0000X( 25)        0.000000           -2800.000X( 26)        0.000000           -3200.000X( 27)        0.000000           -1700.000X( 28)        0.000000           -500.0000X( 29)        0.000000           -700.0000X( 30)        0.000000           -900.0000X( 31)        0.000000           -1100.000X( 32)        0.000000           -1300.000X( 33)        0.000000           -1500.000X( 34)        0.000000           -1700.000X( 35)        0.000000           -1900.000X( 36)        0.000000           -2100.000X( 37)        0.000000           -2300.000X( 38)        1.000000           -2500.000X( 39)        0.000000           -1300.000X( 40)        0.000000           -1500.000X( 41)        0.000000           -1700.000X( 42)        0.000000           -1900.000X( 43)        0.000000           -2100.000X( 44)        0.000000           -2300.000X( 45)        0.000000           -2500.000X( 46)        0.000000           -2700.000X( 47)        0.000000           -2900.000X( 48)        0.000000           -3100.000X( 49)        1.000000           -3300.000X( 50)        1.000000           -3500.000X( 51)        1.000000           -3200.000X( 52)        1.000000           -1500.000X( 53)        0.000000           -1400.000X( 54)        0.000000           -1300.000X( 55)        0.000000           -1200.000X( 56)        0.000000           -1100.000X( 57)        0.000000           -1000.000X( 58)        0.000000           -900.0000X( 59)        0.000000           -800.0000X( 60)        0.000000           -700.0000Row    Slack or Surplus      Dual Price1        14000.00            1.0000002        0.000000            0.0000003        20.00000            0.0000004        0.000000            0.0000005        0.000000            0.0000006        0.000000            0.0000007        0.000000            0.000000

使用集合的意义

  • 现实优化问题往往规模比较大,具体变量多,约束条件很多
  • lingo中引入集合,大大简化了大规模优化问题的模型表述,也提高了lingo自身表述模型的能力,使得lingo在众多数学优化软件脱颖而出。
  • 原始集合是比较简单地集合,也是集合的基础

总结

本小节主要讲了lingo定义原始集合及其属性的语法规则,还有在数据段给常量赋值的多种形式、还有五个集合遍历函数及在集合遍历函数中使用条件筛选集合元素其简化形式、纯粹的语法问题,虽然简单但仍需要认真掌握。

本文发布于:2024-01-28 08:53:18,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064032046249.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:遍历   整数   应用于   函数   入门
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23