【Lingo】线性规划
生活随笔
收集整理的這篇文章主要介紹了
【Lingo】线性规划
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
矩陣工廠
一維矩陣
語法:
!創建矩陣; !說明:factory1代表工廠名字/1..6/代表1*6的一維矩陣a,b,c,d代表矩陣名字 ;sets: factory1 /1..6/:a,b; factory2 /1..3/:c,d; endsets!設置數據; data: a=1,2,3,4,5,6; c=1.0,2,3.0; enddata【說明】:
二維矩陣
語法:
sets: factory1 /1..6/:a,b; factory2 /1..3/:c,d; factory3(factory1,factory2):e; !6*3; factory4(factory2,factory1):f; !3*6; endsetsdata: e=1,2,3,4,5,67,8,9,10,1.1,2.23.3,4.4,5.5,6.6,7.7,8.8; enddatafor循環
語法:
sets: factory /1..6/:a,b; endsetsdata: a=1,2,3,4,5,6; b=1,1,1,1,1,1; enddata!說明: factory(i)代表循環幾次 a(i)*b(i)=s代表數組a和數組b數據一一相乘后的結果s ;@for(factory(i):a(i)*b(i)=s);【說明】:
sum求和
語法:
sets: factory /1..6/:a,b; endsetsdata: a=1,2,3,4,5,6; b=1,1,1,1,1,1; enddata!說明: factory(i)代表循環幾次 整體表示數組a中所有數據相加等于100 ; @sum(factory(i):a(i))=100;【說明】:
線性規劃基礎
例題
例一
max=200*x1+300*x2; x1<=100; x2<=120; x1+2*x2<=160;
例二
max=s;sets: factory01 /1..5/:a,x; endsetsdata: a=1,2,3,4,5; enddata@for(factory01(i):a(i)*x(i)=s); @sum(factory01(i):x(i))=5000;
例三
sets: factory01 /1..6/:a; factory02 /1..8/:d; factory03(factory01,factory02):c,x; endsetsdata: a=60,55,51,43,41,52; d=35,37,22,32,41,32,43,38; c=6,2,6,7,4,2,5,84,9,5,3,8,5,8,25,2,1,9,7,4,3,37,6,7,3,9,2,7,12,3,9,5,7,2,6,55,5,2,2,8,1,4,3; enddata@for(factory01(i):@sum(factory02 (j):x(i,j))<= a(i)); @for(factory02(j):@sum(factory01(i):x(i,j)) = d(j)); min = @sum( factory03(i,j) : c(i,j)*x(i,j) );
總結
以上是生活随笔為你收集整理的【Lingo】线性规划的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《机会的数学》--陈希孺
- 下一篇: SAP License:ERP项目升级评