
数学规划模型
当f , gi和hj共m +n+1个函数都是线性函数时,此模型称为线性规划(linear programming,LP)模型.
问题: 某机床厂生产甲、乙两种机床,每台销售后的利润分别为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 .
综上可得:
模型求解
上述模型中的目标函数及约束条件都是线性函数,因此是一个线性规划模型.
下面是使用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
单击求解按钮,得到如下结果:
结果显示,最优解是x1=2, x2 =6,最大总利润为26000元.
数学规划首先确定优化目标,然后找出影响目标的主要因素,再考虑资源、加工能力等限制条件,就可以构造出数学规划模型了. 如果目标函数及约束条件都是线性函数,或者可以近似看成线性函数,则可以得到的数学规划中最简单也是理论、解法最完善的线性规划. 线性规划求解的难点往往是决策变量太多,有时候可能会有十几万个甚至更多的决策变量. 所以求解线性规划一般都是使用数学软件,在计算机上完成. LINGO 是专门为求解数学规划设计的软件,使用简单、方便,求解快速、准确,是求解线性规划的常用工具. 本例模型比较简单,只是用来对如何运用LINGO 求解线性规划的初步了解. 想要深入学习LINGO 软件,可以参阅LINGO 的帮助文档.
