LINGO学习日志(一)——软件基本用法

 本专栏的所有内容均出自《LINGO和EXCEL在数学建模中的应用》,本人仅是对书中内容做提炼、解释,如果错误请不吝指出。

        LINGO是一款专门解决各种数学规划问题的软件,而许多的优化问题都可以归结为优化问题。我们来看下面一道问题。


        某工厂有两条生产线,分别用来生产M和P两种型号的产品,利润分别为200元/个和300元/个,生产线的最大生产能力分别为每日100和120,生产线每生产一个M产品需要1个劳动日(一个工人工作8个小时称为一个劳动日)进行调试、检测等工作,而每个P产品需要2个工作日,该厂工人每天攻击能提供160个劳动日,假如原材料等其他日傲剑不受到限制,问应如何安排生产计划,才能使获得的利润最大?


        读题可知,我们的目标是利润最大化,所以可以设立对应的目标函数:

MAX z=200x_1+300x_2

        当然,只有目标函数,若是没有对变量进行约束,那么我们的最大利润就可以无限往上增加,所以我们需要根据题意设立约束条件。

        题中说明生产线对于两种产品均有最大生产能力,得约束条件1:

x_1 \leq 100 ,x_2 \leq 120

        生产每个产品均需要一定的时间,然而每个工人有具有的时间有上限,所以可得约束条件2:

x_1+2x_2 \leq 160

        当然,个人认为这道题有点表述不清,最后的问题应该是怎么安排每个工人的生产计划吧?当然这档子事不影响我们学习lingo。

        你以为到这里就结束了吗?别忘了还有隐藏条件也需要满足,就是我们生产的数量必须是整数,还得全部大于0 : x_i \geq 0,i=1,2

        那么分析到这就结束了,我们只需要把他们归结归结,就是一个完整的数学模型了(doge),上面写了这么多就是建模过程,下面是建模结果,或者叫数学模型。

        

得到最终数学模型之后,就可以照着模型写进lingo中了。

!目标函数;
MAX=200*X1+300*X2;

!约束条件;
X1<=100;
X2<=120;
X1+2*X2<=160;

        一个优化模型通常由目标函数、决策变量、约束条件组成。在本例中,目标函数为第一行,这里要注意,在程序中,目标函数的z字母不需要写出来;决策变量为X1,X2,在程序中无需用下标的形式体现;约束条件按照模型直接抄进去即可。

        注意!在每一句话结束之后都要加英文分号,记住是英文分号!!

        在程序中添加注释要用到英文感叹号,分号结束即可。

        运行程序有三种方法。一是选中输入的全部代码后右击鼠标,再点击solve;二是点击菜单栏的“solver”,再点击“solve”;三是点击菜单栏的靶子按钮,如下图。

        在运行过后,软件会弹出“solution report”界面.

        不同的版本跳出的排版格式不同,不过基本相似。

        第二行“Objective value”为最优目标函数值,为29000。

        "Model class"表示规划模型的类型,“LP”表示整数规划。

        中间部分先跳过,在左下方的即为各个决策变量的取值,在本题中,x1取值100,x2取值30。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值