数学建模——lingo实现多目标规划
数学建模——lingo实现多目标规划
- 某单位领导在考虑本单位职工的升级调资方案时,要求相关部门遵守以下的规定:
(1)年工资总额不超过1500000元;
(2)每级的人数不超过定编规定的人数;
(3)II、III级的升级面尽可能达到现有人数的20%;
(4)III级不足编制的人数可录用新职工,又I级的职工中有10%的人要退休. 相关资料汇总于表2-1中,试为单位领导拟定一个满足要求的调资方案.
建模思路和建模过程请进传送门:
https://blog.csdn.net/qq_43649786/article/details/98358368
lingo编程求解:
model: sets: variable/1..3/:x; S_Con_Num/1..6/:g,dplus,dminus;S_con(S_Con_Num,Variable):c; endsets data: g=390000 3 3 0 2 3; c=20000 10000 20000 1 0 0 -1 1 0 0 -1 1 1 0 0 1 0 0;enddata !min=dplus(1);!min=dplus(2) + dplus(3) + dplus(4);min=dminus(5)-dplus(5) + dminus(6)-dplus(6); @for(S_Con_Num(i):@sum(Variable(j):c(i,j)*x(j))+dminus(i)-dplus(i )=g(i)); dplus(1)=0; dplus(2)+ dplus(3) + dplus(4)=0; !@for(variable:@gin(x));end
具体操作如下
根据约束条件的优先级数依次求解
首先求解第一级规划:
model: sets: variable/1..3/:x; S_Con_Num/1..6/:g,dplus,dminus;S_con(S_Con_Num,Variable):c; endsets data: g=390000 3 3 0 2 3; c=20000 10000 20000 1 0 0 -1 1 0 0 -1 1 1 0 0 1 0 0;enddata !min=dplus(1);@for(S_Con_Num(i):@sum(Variable(j):c(i,j)*x(j))+dminus(i)-dplus(i )=g(i)); end
求出第一级正偏差d1为0
代入求得第二级各个正负偏差值
S_Con_Num/1..6/:g,dplus,dminus;S_con(S_Con_Num,Variable):c; endsets data: g=390000 3 3 0 2 3; c=20000 10000 20000 1 0 0 -1 1 0 0 -1 1 1 0 0 1 0 0;enddata !min=dplus(1);min=dplus(2) + dplus(3) + dplus(4);@for(S_Con_Num(i):@sum(Variable(j):c(i,j)*x(j))+dminus(i)-dplus(i )=g(i)); dplus(1)=0;@for(variable:@gin(x));end
最后求得第二级偏差变量 d2,d3,d4同样都为0
代入求得第三级目标约束
S_Con_Num/1..6/:g,dplus,dminus;S_con(S_Con_Num,Variable):c; endsets data: g=390000 3 3 0 2 3; c=20000 10000 20000 1 0 0 -1 1 0 0 -1 1 1 0 0 1 0 0;enddata !min=dplus(1);!min=dplus(2) + dplus(3) + dplus(4);min=dminus(5)-dplus(5) + dminus(6)-dplus(6); @for(S_Con_Num(i):@sum(Variable(j):c(i,j)*x(j))+dminus(i)-dplus(i )=g(i)); dplus(1)=0;dplus(2) + dplus(3) + dplus(4)=0; !@for(variable:@gin(x));
end
数学建模——lingo实现多目标规划相关推荐
- 数学建模-Lingo学习
文章目录 数学建模-Lingo学习 注意: Lingo的变量: 入门案例 用Lingo解方程 题1(两个等式方程组成的方程组) 题2(两个等式方程和两个不等式方程组成的方程组) 线性规划基础 题 集合 ...
- 猿创征文 | 数学建模 lingo超实用的核心使用技巧
文章目录 1.查看lingo版本信息,以防在解决大规模优化问题时受限 2.利用全局求解器尽可能大的逼近全局解(提高精确度) 3.编程过程中验证编写的模型与预期是否一致(减少编写错误) 4.快速查找结果 ...
- 【数学建模lingo学习】lingo解决整数规划问题4:钢管切割问题
1导语 lingo是一款用于解决规划问题的软件,可以求解线性规划,非线性规划等规划问题.如果有不了解lingo的小伙伴可以观看以下视频学习: Lingo(1):基础篇--基本界面与解方程_哔哩哔哩_b ...
- 数学建模常用算法—多目标规划
前面我们已经学习了线性规划及非线性规划,接下来带大家一起学习多目标规划模型. 目录 模型的含义 求解思路 建立目标规划的条件 目标规划的目标函数 目标规划的模型应用 模型的建立 目标规划的一般数学模型 ...
- 学习使用 MATLAB 数学建模一篇文章就够了
学习中,随着学习的深入会不断补充内容,欢迎大家一起学习数学建模知识,有什么问题,大家可以评论,一起讨论学习. 需要LaTeX 数学建模模板和我收集的一些数学建模资料的可以评论留下邮箱,与君共勉 !!! ...
- 袁新生《LINGO和Excel在数学建模中的应用》
内容介绍 本书深入浅出地介绍了LINGO的基础知识.用LINGO语言描述现实问题的方法和用Excel处理数据的方法,重点是这两种软件在解决各种优化问题以及在数学建模中的应用,通过丰富的实例介绍了把实际 ...
- 数学建模(3.9)多目标规划
数学建模(3.9)多目标规划 理解 多目标规划跟一般的规划问题有所不同,多目标规划通常是要求学生做出满足各个优先度要求的最佳抉择.衡量出尽量满足所有需求而得出使得目标最优(如收益最大)的方案. 由于多 ...
- 2020年全国大学生数学建模竞赛B题穿越沙漠问题——建立整数线性规划模型(ILP)——通过LINGO求解
2020年全国大学生数学建模竞赛B题 穿越沙漠 题目是讲玩家在不同地图下穿越沙漠,所获得的资金数要最多(大概是这个意思).然后通过文章的描述又总结了N个约束条件.整体的思路就是对资金最大化作为目标函数 ...
- 数学建模学习笔记(2.3)lingo软件求解线性规划问题
数学建模学习笔记(2.3)lingo软件求解线性规划问题 lingo软件的优势在于体积小,专注于解决优化问题 且编程语言通俗易懂,没有门槛 对于刚刚接触数学建模同学比较友善 当然对于已经参与建模很久的 ...
最新文章
- Jquery和PHP Ajax JSON
- SQLI DUMB SERIES-5
- PHP http_build_query()方法
- 移动互联网下半场,iOS开发者如何“高薪”成长?
- Linux下MySQL C API简单示例
- Mercury的三件“利器”
- 2016年广东省电子设计大赛健康电子专题——健康养殖远程监控系统(环境监控系统V1.0版本)
- 剑指offer面试题[30]-最小的k个数
- matlab中arccosh,mathematica10下载
- 《简明微积分》(第四版)学习笔记
- JZOJ7月18日提高组T1 Family
- solidworks新建工程图默认单位为毫米
- Axure8.0基础教程(11-20)AxureRP8基础操作
- 使用计算机的安全事项,电脑安全使用注意事项
- uniapp登陆页面功能
- DBCA启动问题 (linux)
- 信号(进程间的通信方式)
- 渗透测试-SQL注入之sqlmap的使用方法及实战案例
- 基于LabVIEW的无线温度测控电路设计_温度传感器电路
- Win11没有本地用户和组怎么解决
热门文章
- 华为鸿蒙系统支持什么手机_华为鸿蒙os2.0系统支持手机 华为鸿蒙os2.0系统支持哪些型号升级...
- 【SAP业务模式】之ICS(一):业务详述
- Windows Server搭建SSL 安全Web网站
- chrome谷歌浏览器-DevTool开发者工具-详细总结
- 安全帽为何有4种颜色?红色安全帽都是哪些人戴?
- 我眼中的Spring Boot
- mysql 英雄对位胜率
- 可视化神器Plotly玩转柱状图
- 运用爬虫快速知道关注的主播现在是否在直播
- python迭代算法含义_迭代算法原理及其Python编程实现