多语言展示
当前在线:392今日阅读:103今日分享:49

如何利用Lingo求解线性规划中最值问题

数学规划模型当f , gi和hj共m +n+1个函数都是线性函数时,此模型称为线性规划(linear programming,LP)模型.
工具/原料
1

Windows 10家庭中文版

2

Lingo 17 x64商业版

机床生产计划
1

问题: 某机床厂生产甲、乙两种机床,每台销售后的利润分别为4000 元与3000 元. 生产甲机床需用A, B 机器加工,加工时间分别为每台2h 和1h;生产乙机床需用A, B, C 三种机器加工,加工时间为每台各1h. 若每天可用于加工的机器时数分别为A 机器10h、B 机器8h 和C 机器7h. 该厂应生产甲、乙机床各几台,才能使总利润最大? 模型建立决策变量:设每天生产x1台甲机床和x2台乙机床.目标函数:设每天获利为z元. x1台甲机床获利4000x1元,x2台乙机床获利3000x2元,故z= 4000x1 +3000x2 .约束条件:设备能力 甲、乙机床每天生产数量不能超出A机器的加工能力,即2x1+x2<=10;甲、乙机床每天生产数量不能超出B 机器的加工能力,即x1+x2<=8;乙机床每天生产数量不能超出C机器的加工能力,即x2<=7;非负约束 x1, x2均不能为负值,即x1>=0, x2>=0 .综上可得:

2

模型求解上述模型中的目标函数及约束条件都是线性函数,因此是一个线性规划模型.下面是使用LINGO 17 求解的过程.注意:LINGO 程序以“model:”开始,最后以“end”结束;每个语句以分号结束;目标函数前面要有“max=”或“min=”以确定是求该函数的最大值还是最小值;变量不能加下标;乘号不能省略.打开LINGO 17,在新建文件中输入如下代码:model:max=4000*x1+3000*x2;2*x1+x2<=10;x1+x2<=8;x2<=7;x1>=0;x2>=0;end单击求解按钮,得到如下结果:

3

结果显示,最优解是x1=2, x2 =6,最大总利润为26000元.数学规划首先确定优化目标,然后找出影响目标的主要因素,再考虑资源、加工能力等限制条件,就可以构造出数学规划模型了. 如果目标函数及约束条件都是线性函数,或者可以近似看成线性函数,则可以得到的数学规划中最简单也是理论、解法最完善的线性规划. 线性规划求解的难点往往是决策变量太多,有时候可能会有十几万个甚至更多的决策变量. 所以求解线性规划一般都是使用数学软件,在计算机上完成. LINGO 是专门为求解数学规划设计的软件,使用简单、方便,求解快速、准确,是求解线性规划的常用工具. 本例模型比较简单,只是用来对如何运用LINGO 求解线性规划的初步了解. 想要深入学习LINGO 软件,可以参阅LINGO 的帮助文档.

注意事项
1

如果对于不同版本的Lingo,其求解操作过程可能有细微的不同,请您自行加以调整。 师者,所以传道受业解惑也。人非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。如对您有帮助,请不吝点击投票转发,如您有任何疑问或建议,请留言评论。

2

师者,所以传道受业解惑也。人非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。如对您有帮助,请不吝点击投票转发,如您有任何疑问或建议,请留言评论。

推荐信息