lingo基本用法說明:
模型以model開始,end結束
集合相當於下標,quarters=
lingo中模型優化由四部分組成:
1.集合段(定義集合變數及元素和屬性)sets:------->endsets
2.目標與約束段(目標函式、約束條件 )需要用到lingo內部函式如@sum和@for
3.資料段(對集合屬性輸入必要資料,格式:attribute(屬性) = value_list(常數列表);)data------->enddata
4.初始段(對集合屬性定義初值,也就是設定乙個最初解,可以通過其他演算法獲得乙個好的迭代初值,有利於提高演算法計算結果初值定義格式:attribute(屬性) = value_list(常數列表);)init------->endinit
基本集合與派生集合:(例子:ai\bj兩集合變數,cij為派生)
基本集合:直接把元素列舉出來的集合
派生集合:基於其他集合派生出來的多維集合
例:
model:
title location problem;
sets:
demand/1..6/:a,b,d;
supply/1..2/:x,y,e;
link(demand,supply):c;
endsets
data:
a=1.25,8.75,0.5,5.75,3,7.25;
b=1.25,0.75,4.75,5,6.5,7.75;
d=3,5,6,7,6,11;
e=20,20;
enddata
init:
x,y=5,1,2,7;
endinit
[obj]min=@sum(link(i,j):c(i,j)* ( (x(j)-a(i))^2 + (y(j)-b(i))^2 )^(1/2) );
@for(demand(i):[demand_con] @sum(supply(j):c(i,j))=d(i););
@for(supply(i):[supply_con] @sum(demand(j):c(j,i))<=e(i););
@for(supply:@free(x);@free(y););
end
數學模型演算法實現之Lingo求解二
這種最短路徑問題也可以用圖論 model sets cities s,a1,a2,a3,b1,b2,c1,c2,t l 定義城市集合,l i 為對應的屬性 s到城市i最短路徑 roads cities,cities a1,b1 a1,b2 a2,b1 a2,b2 a3,b1 a3,b2 b1,c1 ...
數學模型演算法實現之Dijkstra演算法
dijkstra演算法能求乙個頂點到另一頂點最短路徑。它是由dijkstra於1959年提出的。實際它能求出初始點到其它所有頂點的最短路徑。dijkstra演算法是一種標號法 給賦權圖的每乙個頂點記乙個數,稱為頂點的標號 臨時標號,稱t標 號,或者固定標號,稱為p標號 t標號表示從始頂點到該標點的最...
數學模型演算法實現之種群競爭模型
fun.m function dx fun t,x,r1,r2,n1,n2,s1,s2 r1 1 r2 1 n1 100 n2 100 s1 0.5 s2 2 dx r1 x 1 1 x 1 n1 s1 x 2 n2 r2 x 2 1 s2 x 1 n1 x 2 n2 p3.m h 0.1 所取時間...