Lingo三道典型题(入门)
1. 用傻瓜式输入法求解优化问题
这个不用多说,就是Lingo中没有≤、≥,写成<或者>就行
2选拔问题 某班准备从5名游泳员中选择4人组成接力队,参加学校的4×100m混合泳接力比赛,5名队员4种泳姿的百米平均成绩如表(秒),问如何选拔队员。请使用LINGO编码求解
甲 | 乙 | 丙 | 丁 | 戊 | |
蝶泳 | 66 | 57 | 78 | 70 | 77 |
仰泳 | 65 | 61’ | 74 | 64 | 71 |
蛙泳 | 87 | 66 | 69 | 69 | 84 |
自由泳 | 59 | 53 | 59 | 57 | 62 |
解:这道题的难点主要在于对题目的理解,模型的建立
设
模型如下:
其中minf是所需得到的目标
第一行:每一行加起来都得=1,意思也就是每一个项目都得有人参加;
第二行:每一列加起来都得≤1,意思就是每个人至多参加一项;
第三个:1,0变量,取与不取,因此会用到用@bin函数。
程序与解释如下:
结果:
读者看完可以做一下下面的背包问题(变式):
设有n=8个体积分别为54,45,43,29,23,21,14,1的物体和一个容积为C=110的背包,问选择哪几个物体装入背包可以使其装的最满。
可以私信我要结果