| LINGO教程 |
|
| 作者:佚名 文章来源:本站原创 点击数: 更新时间:2006-9-4 |
|
|
§1 LINGO快速入门
当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:
外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。下面举两个例子。
例1.1 如何在LINGO中求解如下的LP问题:
在模型窗口中输入如下代码:
min=2*x1+3*x2;
x1+x2>=350;
x1>=100;
2*x1+x2<=600;
然后点击工具条上的按钮 即可。
例1.2 使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。
|
单
位 销地
运
价
产地 |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
B7 |
B8 |
产量 |
|
A1 |
6 |
2 |
6 |
7 |
4 |
2 |
5 |
9 |
60 |
|
A2 |
4 |
9 |
5 |
3 |
8 |
5 |
8 |
2 |
55 |
|
A3 |
5 |
2 |
1 |
9 |
7 |
4 |
3 |
3 |
51 |
|
A4 |
7 |
6 |
7 |
3 |
9 |
2 |
7 |
1 |
43 |
|
A5 |
2 |
3 |
9 |
5 |
7 |
2 |
6 |
5 |
41 |
|
A6 |
5 |
5 |
2 |
2 |
8 |
1 |
4 |
3 |
52 |
|
销量 |
35 |
37 |
22 |
32 |
41 |
32 |
43 |
38 |
|
使用LINGO软件,编制程序如下:
model:
!6发点8收点运输问题;
sets:
warehouses/wh1..wh6/: capacity;
vendors/v1..v8/: demand;
links(warehouses,vendors): cost, volume;
endsets
!目标函数;
min=@sum(links: cost*volume);
!需求约束;
@for(vendors(J):
@sum(warehouses(I): volume(I,J))=demand(J));
!产量约束;
@for(warehouses(I):
@sum(vendors(J): volume(I,J))<=capacity(I));
!这里是数据;
data:
capacity=60 55 51 43 41 52;
demand=35 37 22 32 41 32 43 38;
cost=6 2 6 7 4 2 9 5
4 9 5 3 8 5 8 2
5 2 1 9 7 4 3 3
7 6 7 3 9 2 7 1
2 3 9 5 7 2 6 5
5 5 2 2 8 1 4 3;
enddata
end
然后点击工具条上的按钮 即可。 |