LINGO软件求解整数规划问题

合集下载

实验利用Lingo求解整数规划和非线性规划问题

实验利用Lingo求解整数规划和非线性规划问题

三、Lingo 循环编程举例
例5 用Lingo循环编程语句求解线性规划模型
max z 72x1 64x2
x1 x2 50, 132xx1 1180x0,2 480, x1 0, x2 0.
三、划 模型
max z 72x1 64x2
MODEL: SETS: person/A,B,C,D/; task/1..4/; assign(person,task):a,x; ENDSETS DATA: a=1100,800,1000,700,
600,500,300,800, 400,800,1000,900, 1100,1000,500,700; ENDDATA min=@sum(assign:a*x); @for(person(i):@sum(task(j):x(i,j))=1); @for(task(j):@sum(person(i):x(i,j))=1); @for(assign(i,j):@bin(x(i,j))); END
12,8 3,0; enddata
!数据赋值;
max=@sum(bliang(i):a(i)*x(i)); !目的函数;
@for(yshu(j):@sum(bliang(i):x(i)*c(j,i))<=b(j));
!约束条件;
例6、指派问题
企业在各地有4项业务,选定了4位业务员去处理。因为 业务能力、经验和其他情况不同,4业务员去处理4项业 务旳费用(单位:元)各不相同,见下表:
(3) 集合旳循环函数 集合旳循环函数能够使全部旳元素反复完毕某些操作.
函数
函数功能
• 形成集合全部元素需满足旳约
@for
束条件
• 计算集合中元素所在体现式旳
@sum

应用lingo软件实现线性规划和整数规划

应用lingo软件实现线性规划和整数规划

一、 实验目的应用lingo 软件实现线性规划和整数规划。

二、 实验内容:1.线性规划方法的lingo 软件实现。

2.整数规划方法的Lingo 软件实现三、 实验环境:1 硬件要求:计算机一台2 操作系统:WindowsXP3 软件要求:lingo10四、实验步骤及程序编写:1.线性规划模型。

某战略轰炸机群奉命摧毁敌人军事目标。

已知该目标有四个要害部位,只要摧毁其中之一即可达到目的。

为完成此项任务的汽油消耗量限制为48000升、重型炸弹48枚、轻型炸弹32枚。

飞机携带重型炸弹时每升汽油可飞行2千米,带轻型炸弹时每升汽油可飞行3千米。

又知每架飞机每次只能装载一枚炸弹,每出发轰炸一次除来回路程汽为了使摧毁敌方军事目标的可能性最大,应如何确定飞机轰炸的方案。

解:设用了x 枚重型炸弹,用了y 枚轻型炸弹,攻击的是第i 个部位,再设一标志变量f 定义如下: ⎩⎨⎧=个部位不攻击第个部位攻击第i i f i 01目标函数为: ()[]∑=⨯⨯+⨯=41max i i li ih f p y px()()480002004/3/2004/2/≤++⨯+++⨯i i i i d d y d d x48≤x ,32≤y141=∑=i if2、整数规划模型。

某厂生产甲、乙两种产品,生产甲种产品每件要消耗煤9t ,电力4kw ,使用劳动力3个,获利70元;生产乙种产品每件消耗煤4t ,电力5kw ,使用劳动力10个,获利120元。

有一个生产日,这个厂可动用的煤是360t ,电力是200kw ,劳动力是300个,问应该如何安排甲、乙两种产品的生产,才能使工厂在当日的获利最大,并问该厂当日的最大获利是多少? 解:模型建立:⎪⎪⎩⎪⎪⎨⎧<+<+<++=取整x x x x x x x x x x t s f 2121212121,3001032005436049..12070max五、程序调试及实验总结1.线性规划模型。

整数规划简介及Lingo求解

整数规划简介及Lingo求解

整数规划及Lingo 求解一、 概论1.1 整数规划的定义在工程设计和企业管理中,常常会遇到要求决策变量取整数值的规划问题。

安排生产时,投入的人力与机器数量必须是整数,生产的 某些产品(如汽车、机床、船舶等)的数量也是整数。

整数规划就是用于研究、处理这一类问题的数学规划。

如果在线性规划的基础上,把规划中的变量(部分或全部)限制为整数时,就称之为线性整数规划。

大部分的整数规划都是线性的所以我们也称线性整数规划为整数规划。

在许多情况下,我们都可以把规划问题的决策变量看成是连续的变量;但在某些情况下,规划问题的决策变量却被要求一定是整数。

例如,完成某项工作所需要的人数或设备台数,进入市场销售的商品件数,以及某一机械设备维修的次数等。

当连续的决策变量变为离散变量时非线性优化问题通常会难解得多。

但是应用软件就方便多了,本文给了Lingo 在规划中的常用方法和程序。

1.2 整数规划的分类在线性规划的基础上,要求所有变量都取整的规划问题称为纯整数规划问题;如果仅仅是要求一部分变量取整,则称为混合整数规划问题。

全部或部分决策变量只能取0,1值的规划问题称为10-规划问题。

1.3 整数规划的一般模型目标函数约束条件决策集 x 为整数如果用集合表示上面的式子目标函数: Cx =max(min)约束条件为: b Ax =例 1.1 飞船装载问题设有n 种不同类型的科学仪器希望装在登月飞船上, 令0>j c 表示每件第j 类仪器的科学价值;0>j a 表示每件第j 类仪器的重量。

每类仪器件数不限, 但装载件数只能是整数。

飞船总载荷不得超过数b 。

设计一种方案, 使得被装载仪器的科学价值之和最大。

建模 记j x 为第j 类仪器的装载数。

目标函数 ∑=j j x c m a x约束条件 ∑≤b x a j j决策集 j x 为正整数⎪⎪⎩⎪⎪⎨⎧≤+++≤+++≤+++m n mm m m n n n n k x a x a x a k x a x a x a k x a x a x a t s22112222212111212111..n n x c x c x c +++= 2211m ax (m in)二、 算法简介及应用举例2.1 解整数规划的一般算法通常解整数规划有三种方法,下面只介绍算法思想不具体讲解,在限制条件少的情况下分支定界法最为常用。

用Lingo求解整数(0-1)规划模型.

用Lingo求解整数(0-1)规划模型.

Lingo 程序: max=2*x1+5*x2+3*x3+4*x4;
-4*x1+x2+x3+x4>=0; -2*x1+4*x2+2*x3+4*x4>=1; x1+x2-x3+x4>=1; @bin(x1);@bin(x2);@bin(x3);@bin(x4);
温州大学城市学院
例 2 用Lingo软件求解整数规划问题 min z 2 x1 5 x2 3 x3
温州大学城市学院
注意:
Lingo 默认变量的取值从0到正无穷大,
变量定界函数可以改变默认状态.
@free(x): 取消对变量x的限制(即x可取任意实数值)
例 4 求函数 z x 2 y 2 的最小值.
2 2
温州大学城市学院 例 4 求函数 z x 2 y 2 的最小值.
,8
温州大学城市学院
温州大学城市学院
上机作业题
要求:
1、建立数学模型,
2、用lingo循环语句编写程序.
温州大学城市学院
上机作业题
人员安排问题
某城市的巡逻大队要求每天的各个时间段都有一 定数量的警员值班, 以便随时处理突发事件, 每人连续 工作6h, 中间不休息. 如表所示是一天8个班次所需值 班警员的人数情况统计:
成绩 甲 乙 丙 丁 自由泳 / s 56 63 57 55 蛙泳 / s 74 69 77 76 蝶泳 / s 61 65 63 62 仰泳 / s 63 71 67 62
甲, 乙, 丙, 丁 四名队员各自游什么姿势 , 才最有可能取得好成绩?
温州大学城市学院

实验二、利用Lingo求解整数规划及非线性规划问题

实验二、利用Lingo求解整数规划及非线性规划问题

建立数学模型
根据问题要求,建立相应的数 学模型,包括变量、约束条件 和目标函数等。
设置求解参数
根据问题类型和规模,设置合 适的求解参数,如求解方法、 迭代次数等。
分析结果
对求解结果进行分析,验证模 型的正确性和可行性。
05 整数规划问题求解实例
问题描述
问题背景
本实验将通过一个具体的整数规划问题,展示如 何利用LINGO软件进行求解。该问题涉及到生产 计划优化,目标是最大化利润,同时满足一系列 约束条件。
非线性规划问题在数学、经济、工程等领域有广泛应用,是 优化理论的重要分支。
非线性规划问题的分类
01
按照目标函数的性质,非线性规划问题可以分为凸规
划和凹规划。
02
按照约束条件的性质,非线性规划问题可以分为无约
束、有界约束和等式约束三种类型。
03
按照决策变量的个数,非线性规划问题可以分为单变
量和多变量规划。
定义约束条件
使用LINGO的FROM命令定义约束条件,例 如FROM ... >= ... (P1,P2,...,Pn)。
LINGO求解过程及果分析
求解过程
在LINGO中输入模型,选择求解器类型(整数求解器或线性求解器),设置参数,运行求解过程。
结果分析
查看求解结果,包括最优解、最优值、松弛解等信息。对结果进行解释和评估,分析其对实际问题的 指导意义。
07 实验总结与展望
实验收获与体会
掌握整数规划和非线性规划的基本概念和求解方法
通过实验,我深入了解了整数规划和非线性规划的基本概念和求解方法,包括数学模型 建立、约束条件处理、目标函数处理等。
熟练使用LINGO软件
通过实验,我掌握了LINGO软件的基本操作和参数设置,能够利用LINGO软件求解整 数规划和非线性规划问题。

Lingo如何求解整数规划?Lingo求解整数规划的详细方法

Lingo如何求解整数规划?Lingo求解整数规划的详细方法

Lingo如何求解整数规划?Lingo求解整数规划的详细方法
导读:Lingo是一款功能非常强大的求解器,Lingo能有效的精准的求解线性、非线性和整数最优化,那么,Lingo如何求解整数规划呢?下面就是Lingo如何求解整数规划的方法步骤,一起往下看看吧!
方法步骤
1、打开lingo,这是它的主界面;
2、输入程序框架;
3、输入问题只需要按照图中的格式去写。

可以看到,lingo的编程语言与我们所学到的运筹学公式基本一致;
4、添加整数约束希望哪一个变量是整数,就在末尾加一行“@gin(变量);”就可以了;
5、得出结果点击图中的“solve”按钮;
6、查看结果解决后,会弹出一个窗口,向你显示目标函数值和每个变量的
取值。

问题解决。

以上就是Lingo如何求解整数规划的方法步骤,如果你不知道怎么在Lingo 求解整数规划的话,那就快点根据上面的方法步骤学起来吧!。

实验2 Lingo求解运输问题和整数规划

实验2  Lingo求解运输问题和整数规划

a=1.25,8.75,0.5,5.75,3,7.25;
b=1.25,0.75,4.75,5,6.5,7.75;
!quantities of the demand and supply(供需量);
d=3,5,4,7,6,11; e=20,20;
x,y=5,1,2,7;
enddata
init:
!initial locations for the supply(初始点);
j 1 i1
2
s.t.
cij d i , i 1,...,6
线性规划模型
j 1
6
cij e j ,
j 1,2
用例中数据计算,
最优解为
i
i 1
12 345 6
ci1( 料 场A) 3 5 0 7 0 1
ci2( 料 场B) 0 0 4 0 6 10
总吨公里数为136.2
Location(Linear)
月份型 monthM..monthN OCT..JAN
OCT, NOV, DEC, JAN
年份月份型
monthYearM..mo nthYearN
OCT2001..JAN OCT2001,
2002
NOV2001,
DEC2001,
JAN2002
运算符的优先级
三类运算符:
算术运算符 逻辑运算符 关系运算符 优先级 运算符 最高 #NOT# —(负号)
43
A5
2 3 9 57 2
65
41
A6
5 5 2 28 1
43
52
销量
35 37 22 32 41 32 43 38
a i 6 0 5 5 1 4 3 4 1 5 2 30 2 b i 3 3 5 2 7 3 2 4 2 3 1 4 2 3 3 2 88

用LINGO求解整数规划

用LINGO求解整数规划

用LINGO求解整数规划在LINGO中,输入总是以model:开始,以end结束;中间的语句之间必须以“;”分开;LINGO不区分字母的大小写;目标函数用MAX=…;或MIN=…;给出(注意有等号“=”)。

在LINDO中所有的函数均以“@”符号开始,如约束中@gin(x1)表示x1为整数,用@bin(x1)表示x1为0-1整数。

在现在的LINDO中,默认设置假定所有变量非负。

函数中变量的界定:@GIN(X):限制X为整数@BIN(X):限定变量X为0 或1。

@FREE(X):取消对x的符号限制(即可取任意实数包括负数)@BND(L,X,U):限制L<= X <= ULINGO提供了大量的标准数学函数:@abs(x)???????????? 返回x的绝对值@sin(x)???????????? 返回x的正弦值,x采用弧度制@cos(x)???????????? 返回x的余弦值@tan(x)???????????? 返回x的正切值@exp(x)???????????? 返回常数e的x次方@log(x)???????????? 返回x的自然对数@lgm(x)???????????? 返回x的gamma函数的自然对数@sign(x)??????????? 如果x<0返回-1;否则,返回1@smax(x1,x2,…,xn)? 返回x1,x2,…,xn中的最大值@smin(x1,x2,…,xn)? 返回x1,x2,…,xn中的最小值例1:整数规划模型在LINGO中可以如下输入:model:Max=5*x1+8*x2;!*号不能省略x1+x2<=6;!约束条件和目标函数可以写在model:与end之间的任何位置5*x1<=45-9*x2;@gin(x1);@gin(x2); !和LINDO不同,不能写在end之后end运行后同样得到最优解为x1=0,x2=5,最优值为40。

例2:在线性规划中的应用max Z =5X1+3X2+6X3,s.t.X1 +2 X2 + X3 ≤182 X1 + X2 +3 X3 =16X1 + X2 + X3 =10X1 ,X2 ≥0 , X3 为自由变量应用LINGO 来求解该模型,只需要在 lingo窗口中输入以下信息即可:max=5*x1+3*x2+6*x3;x1+2*x2+x3<=18;2*x1+x2+3*x3=16;x1+x2+x3=10;@free(x3);然后按运行按钮,得到模型最优解,具体如下:Objective value: 46.00000Variable Value Reduced Costx1 14.00000 0.000000x2 0.000000 1.000000x3 -4 .000000 0.000000由此可知,当 x1 =14 , x2 =0 , x3 =-4 时,模型得到最优值,且最优值为 46。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2012——2013学年第一学期
合肥学院数理系
实验报告
课程名称:运筹学
实验项目: LINGO软件求解整数规划问题
实验类别:综合性□设计性□√验证性□专业班级: 10数学与应用数学(1)班
姓名:学号:
实验地点:
实验时间:
指导教师:成绩:
一.实验目的
1、学会使用LINGO 软件求解整数规划问题。

2、学会分析LINGO 软件求解的结果。

二.实验内容
1、某班有男同学30人,女同学20人,星期天准备去植树。

根据经验,一天中,
男同学平均每人挖坑20个,或栽树30棵,或给25棵树浇水,女同学平均每人挖坑10个,或栽树20棵,或给15棵树浇水。

问应怎样安排,才能使植树(包括挖坑、栽树、浇水)最多。

建立该问题的数学模型,并求其解。

2、求解线性规划:
121212
212max 2251228
010,Z x x x x x x x x x =++≥⎧⎪+≤⎪⎨
≤≤⎪⎪⎩全为整数
3、在高校篮球联赛中,我校男子篮球队要从8名队员中选择平均身高最高的出场阵容,队员的号码、身高及擅长的位置如右表:
同时,要求出场阵容满足以下条件: (1) 中锋最多只能上场一个。

(2)至少有一名后卫 。

(3)如果1号队员和4号队员都上场, 则6号队员不能出场
(4)2号队员和6号队员必须保留一个不出场。

问应当选择哪5名队员上场,才能使出场队员平均身高最高?
试写出上述问题的数学模型,并求解。

三. 模型建立
1、设需要男生挖坑1x 人,栽树2x 人,浇树3x 人;需要女生挖坑4x 人,栽树5x 人,
浇树5x 人,则该问题的数学模型建立如下:
12
12345614252536
123456max 201030202010302030202515,,,,,0Z x x x x x x x x x x x x x x x x
x x x x x x =+++=⎧⎪
++=⎪⎪
+=+⎨⎪+=+⎪⎪≥⎩且全为整数
2、模型略
3、设1=j x 表示第j 号队员上场,0=j x 表示第j 号队员不上场,其中,
82,1,,⋯=j ,其中,j c 表示第j 号队员的身高,82,1,,⋯=j 。

则该问题的数学模型为:
1188123456781267814626max (...)/5
511210112...8j z c x c x x x x x x x x x x x x x x x x x x x x j =+++++++++=⎧⎪+≤⎪⎪++≥⎪⎨
++≤⎪⎪+≤⎪
==⎪⎩或,,,,
其中,j c 表示第j 号队员的身高,82,1,,
⋯=j 。

四. 模型求解(含经调试后正确的源程序)
1、编写程序1.m 如下:
MAX =20*X1+10*X4; X1+X2+X3=30; X4+X5+X6=20;
20*X1+10*X4=30*X2+20*X5; 30*X2+20*X5=25*X3+15*X6; @GIN (X1); @GIN (X2); @GIN (X3); @GIN (X4);
@GIN(X6);
END
2、编写程序2.m如下:
MAX=X1+2*X2;
2*X1+5*X2>=12;
X1+2*X2<=8;
@bnd(0,X2,10);
@GIN(X1);
@GIN(X2);
END
3、编写程序3.m如下:
MAX=(1.92*X1+1.90*X2+1.88*X3+1.86*X4+1.85*X5+1.83*X6+1.80*X7+1.78*X8) /5;
X1+X2+X3+X4+X5+X6+X7+X8=5;
X1+X2<=1;
X6+X7+X8>=1;
X1+X4+X6<=2;
X2+X6<=1;
@BIN(X1);
@BIN(X2);
@BIN(X3);
@BIN(X4);
@BIN(X5);
@BIN(X6);
@BIN(X7);
@BIN(X8);
END
五.结果分析
1、结果为:
Global optimal solution found.
Objective value: 340.0000
Objective bound: 340.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 138
Variable Value Reduced Cost
X1 15.00000 -20.00000
X4 4.000000 -10.00000
X2 8.000000 0.000000
X3 7.000000 0.000000
Row Slack or Surplus Dual Price
1 340.0000 1.000000
2 0.000000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
最优解X*=(14,4,8,7,5,11) 最优值Z*=340 即安排15个男生、7个女生挖坑,4个男生、5个女生栽树,8个男生、11个女生浇水,总共栽树340棵2、结果为:
Global optimal solution found.
Objective value: 8.000000
Objective bound: 8.000000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 1
Variable Value Reduced Cost
X1 0.000000 -1.000000
X2 4.000000 -2.000000
Row Slack or Surplus Dual Price
1 8.000000 1.000000
2 8.000000 0.000000
3 0.000000 0.000000
最优解X*=(8,0) ,最优值Z*=8
3、结果为:
Global optimal solution found.
Objective value: 1.862000
Objective bound: 1.862000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 0
Variable Value Reduced Cost
X1 1.000000 -0.3840000
X2 0.000000 -0.3800000
X3 1.000000 -0.3760000
X4 1.000000 -0.3720000
X5 1.000000 -0.3700000
X6 0.000000 -0.3660000
Row Slack or Surplus Dual Price
1 1.862000 1.000000
2 0.000000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
6 1.000000 0.000000
最优解X*=(1,0,1,1,1,0,1,0) 最优值Z*=1.862 应选择1号3号4号5号7号球员入场比赛,此时平均身高1.862米
六.实验总结
通过此次实验,我进一步的掌握了LINGO软件的使用方法,让我了解到了如何使用LINGO软件求解整数规划问题。

让我们明白数学软件在数学计算中的重要性,所以我们更应该熟练地掌握数学软件的使用,这样在以后的实际应用中更能够方便、快速、准确的解决问题。

学生签名:
2012年 11 月 29 日。

相关文档
最新文档