lingo基本操作

来源:互联网 发布:淘宝客采集软件多少钱 编辑:程序博客网 时间:2024/06/05 03:28

小型模型

线性规划

model:title Solve linear optimization;max = 2 * x1 + 3 * x2;2 * x1 + x2 <8;4 * x1 + 3 * x2 < 15;end

二次规划

model:title:Solving quadratic programming!hahaha;[opt]max = 98 * x1 + 277 * x2 - x1 ^ 2 - 0.3 * x1 * x2 - 2 * x2 ^ 2;[st1]x1 + x2 < 100;[st2]x1 < 2 * x2;@gin(x1);@gin(x2);   !对x1取整,lingo函数加@end

大型模型

数组型变量

优化模型——六段
- 集合段:用于定义数组型变量sets: endsets
- 数据段:用于变量赋值与数据传递data:
enddata
- 目标与约束段:用于列出目标与约束,无段的开始、结束
- 计算段:用于数据初始整理计算calc:“““endcalc
- 初始段:用于变量赋初值迭代寻优
- 子模型段:用于表达子模型进行调用@submodel mymodel :(/n)可执行语句(约束+目标)(/n)endsubmodel
-

基本集合与属性变量

表示

sets:   !集合段    ;s/1..100/:x;     !基本集合,集合名与属性变量;endsets!目标与约束段;@sum(s(i):x(i))<90;!循环求和函数;

怎样赋值

sets:!集合段;ss/1..10/:b;endsetsdata:!数据段;b = 1 0 1 2 3 5 2 6 1 2 ;enddata

表整数值

sets:            !集合段;a/1..100/:x;b/1..200/:y;endsets!目标与约束段;@for(b(j):@gin(y(j)));@for(a(i):@gin(x(i)));