新时代多目标优化【数学建模】领域的极致探索——数学规划模型

目录

例1

1.问题重述 

2.基本模型 

 变量定义:

目标函数:

约束条件: 

3.模型分析与假设 

4.模型求解 

5.LINGO代码实现 

6.结果解释 

​编辑 7.敏感性分析

 8.结果解释

例2 奶制品的销售计划

1.问题重述 

​编辑 2.基本模型

3.模型求解 

4.结果解释 

3.整数规划的实用模型 

1.题目

 2.分析

3.模型建立 

​编辑4.模型求解 

4.运输问题 

例1.

1.题目

2.分析 

3.模型建立 

​编辑 4.模型求解_Lingo

5.结果分析 

最优目标值

变量值

约束条件

冗余成本(Reduced Cost)

对偶价格(Dual Price)

例2 自来水的输送问题 

1.题目

2.分析

​编辑3. 模型建立

4.模型求解 

5.问题讨论 

6.求解

​编辑 总结


ce6fbd68767d465bbe94b775b8b811db.png

731bd47804784fa2897220a90a387b28.gif

专栏:数学建模学习笔记

生产与销售问题

         企业生产计划                       空间层次 

工厂级:根据外部需求和内部设备、人力、原料等条件,以最大利润为目标制订产品生产计划;
车间级:根据生产计划、工艺流程、资源约束及费用参数等,以最小成本为目标制订生产批量划.

                                                  时间层次

若短时间内外部需求和内部资源等不随时间变化,可制订 单阶段生产计划。

例1

一奶制品加工厂用牛奶生产A1,A2 两种奶制品,1桶牛奶可以在设备甲上用12小时加工生产3公斤A1 或在设备乙上用8小时加工成4公斤A2 根据市场需要,生产的A1,A2 全部能售出, 且每公斤A1 获利24元, 每公斤A2 可获利16元. 现在加工厂每天能得到50桶牛奶的供应, 每天工人总的劳动时间为480小时, 并且设备甲每天至多能加工100公斤 A1设备乙的加工能力没有限制. 试为该厂制定一个生产计划, 使每天获利最大, 并进一步讨论以下3个附加问题:

⑴若用35元可以买到1桶牛奶, 应否作这项投资? 若投资, 每天最多购买多少桶牛奶?
⑵若可以聘用临时工人以增加劳动时间, 付给临时工人的工资最多是每小时几元?
⑶由于市场需求变化, 每公斤A1 的利润增加到30元,应否改变生产计划? 

1.问题重述 

例1 加工奶制品的生产计划 

每天:50 桶牛奶 时间480 小时 至多加工100 公斤A 1
制订生产计划,使每天获利最大
• 35 元可买到1 桶牛奶,买吗?若买,每天最多买多少?
• 可聘用临时工人,付出的工资最多是每小时几元?
• A 1 的获利增加到 30 元/ 公斤,应否改变生产计划? 

2.基本模型 

每天    50 桶牛奶    时间48小时   至多加工100 公斤A 1 

 变量定义:

目标函数:

约束条件: 

3.模型分析与假设 

4.模型求解 

5.LINGO代码实现 

model:
max = 72*x1+64*x2;
[milk] x1 + x2<50;
[time]
12*x1+8*x2<480;
[cpct] 3*x1<100;
end

 20 桶牛奶生产A 1 , 30 桶生产A 2 , 利润3360 元。

6.结果解释 

 7.敏感性分析

 8.结果解释

 

 

 

 

 

例2 奶制品的销售计划

例1给出的 A1,A2两种奶制品的生产条件, 利润及工厂的资源限制不变, 为增加工厂的获利, 开发了奶制品的深加工技术: 用2小时和3元加工费, 可将1公斤 A1加工成0.8高级奶制品B1 也可将一公斤 A2加工成0.75公斤高级奶制品B2, 每公斤B1 能获利44元, 每公斤B2 能获利32元,试为该厂制定一个生产销售计划, 使获得的利润最大,并讨论以下问题: 

⑴若投资32元可以增加供应一桶牛奶, 投资3元可以增加一小时劳动时间, 应否作这样的投资, 若每天投资150元, 可赚回多少?
⑵每公斤高级奶制品B1,B2 的获利经常有10%的波动,对制定计划有无影响, 若每公斤B1 的获利下降10%, 计划应该改变吗? 

1.问题重述 

 例2 奶制品的生产销售计划                                                              在例1基础上深加工

 2.基本模型

3.模型求解 

4.结果解释 

 

 奶制品的生产与销售

 由于产品利润、加工时间等均为常数,可建立 线性规划 模型.
• 线性规划模型的三要素: 决策变量、目标函数、约束条件.

• 建模时尽可能利用原始的数据信息,把尽量多的计算留给计算机去做(分析例2) 
• 用LINGO 求解,输出丰富,利用 影子价格和 灵敏性分析 可对结果做进一步研究.

3.整数规划的实用模型 

1.题目

例.银行人员安排某储蓄所每天的营业时间为上午9点到下午5点. 根据经验, 每天不同时间所需要的服务员数量为:

时间段9—1010—1111—12 12—1
数量4346
时间段1—2 2—33—44—5 
数量 5688

储蓄所可以雇佣全时和半时两类服务员. 全时服务员每天报酬100元, 从上午9点到下午5点工作, 但中午12点到下午2点之间必须安排1小时的午餐时间.储蓄所每天可以不超过3名的半时服务员, 每个半时服务员必须连续工作4小时, 报酬40元, 问该储蓄所该如何雇佣全时和半时服务员?

如果不能雇佣半时服务员, 每天至少增加多少费用,如果雇佣半时服务员的数量没有限制, 每天可以减少多少费用?

 2.分析

解决此问题的关键是确定聘用全时服务员及半时服务员的人数, 但还要考虑全时服务员有吃午餐的时间, 故把全时服务员分为两类: 午餐时间为12时至下午1时的及下午1时至下午2时的; 而半时服务员按上班时间进行划分.

3.模型建立 

 

4.模型求解 

4.运输问题 

生产、生活物资从若干供应点运送到一些需求点,怎样安排输送方案使运费最小,或利润最大?

各种类型的货物装箱,由于受体积、重量等限制,如何搭配装载,使获利最高,或装箱数量最少?

例1.

1.题目

要从甲地调出物质2000吨, 从乙地调出物质1100吨, 分别供给A 地1700吨, B地1100吨, C地200吨和D地100吨, 已知每吨运费如表所示, 试建立一个使运费达到最小的调拨计划. 

 单位路程运费表

2.分析 

3.模型建立 

 4.模型求解_Lingo

MODEL:
SETS:ORIG /1..2/: SUPPLY;DEST /1..4/: DEMAND;LINK(ORIG, DEST): COST, FLOW;
ENDSETSDATA:SUPPLY = 2000 1100;DEMAND = 1700 1100 200 100;COST = 21 25  7 1551 51 37 15;
ENDDATA! 目标函数:最小化总运输费用;
MIN = @SUM(LINK(I,J): COST(I,J) * FLOW(I,J));! 供应约束:每个生产地的调运量不能超过其供应量;
@FOR(ORIG(I): @SUM(DEST(J): FLOW(I, J)) <= SUPPLY(I)
);! 需求约束:每个销售地的需求量必须得到满足;
@FOR(DEST(J):@SUM(ORIG(I): FLOW(I, J)) = DEMAND(J)
);END

运行结果

Global optimal solution found.
  Objective value:                              92100.00
  Infeasibilities:                              0.000000
  Total solver iterations:                             1
  Elapsed runtime seconds:                          0.06

  Model Class:                                        LP

  Total variables:                      8
  Nonlinear variables:                  0
  Integer variables:                    0

  Total constraints:                    7
  Nonlinear constraints:                0

  Total nonzeros:                      24
  Nonlinear nonzeros:                   0

                                Variable           Value        Reduced Cost
                              SUPPLY( 1)        2000.000            0.000000
                              SUPPLY( 2)        1100.000            0.000000
                              DEMAND( 1)        1700.000            0.000000
                              DEMAND( 2)        1100.000            0.000000
                              DEMAND( 3)        200.0000            0.000000
                              DEMAND( 4)        100.0000            0.000000
                             COST( 1, 1)        21.00000            0.000000
                             COST( 1, 2)        25.00000            0.000000
                             COST( 1, 3)        7.000000            0.000000
                             COST( 1, 4)        15.00000            0.000000
                             COST( 2, 1)        51.00000            0.000000
                             COST( 2, 2)        51.00000            0.000000
                             COST( 2, 3)        37.00000            0.000000
                             COST( 2, 4)        15.00000            0.000000
                             FLOW( 1, 1)        1700.000            0.000000
                             FLOW( 1, 2)        100.0000            0.000000
                             FLOW( 1, 3)        200.0000            0.000000
                             FLOW( 1, 4)        0.000000            26.00000
                             FLOW( 2, 1)        0.000000            4.000000
                             FLOW( 2, 2)        1000.000            0.000000
                             FLOW( 2, 3)        0.000000            4.000000
                             FLOW( 2, 4)        100.0000            0.000000

                                     Row    Slack or Surplus      Dual Price
                                       1        92100.00           -1.000000
                                       2        0.000000            26.00000
                                       3        0.000000            0.000000
                                       4        0.000000           -47.00000
                                       5        0.000000           -51.00000
                                       6        0.000000           -33.00000
                                       7        0.000000           -15.00000

5.结果分析 

最优目标值

  • 目标值(Objective value):92100.00 这表示总运输费用最小化后的总费用为92100元。

变量值

  • FLOW(1, 1):1700.000 表示从甲地到A地调运1700吨。
  • FLOW(1, 2):100.0000 表示从甲地到B地调运100吨。
  • FLOW(1, 3):200.0000 表示从甲地到C地调运200吨。
  • FLOW(1, 4):0.000000 表示从甲地到D地没有调运。
  • FLOW(2, 1):0.000000 表示从乙地到A地没有调运。
  • FLOW(2, 2):1000.000 表示从乙地到B地调运1000吨。
  • FLOW(2, 3):0.000000 表示从乙地到C地没有调运。
  • FLOW(2, 4):100.0000 表示从乙地到D地调运100吨。

约束条件

所有约束条件都得到了满足(Slack or Surplus为0),没有违反任何约束:

  • 每个生产地的供应量约束得到了满足。
  • 每个销售地的需求量约束得到了满足。

冗余成本(Reduced Cost)

  • Reduced Cost 为0表示这些流量变量都在最优解中被有效利用,没有改进的空间。

对偶价格(Dual Price)

对偶价格反映了每增加一个单位的约束右端常数对目标函数的影响:

  • 第二行:26.00000 表示增加一个单位的供应量对总费用有正向影响。
  • 第三行:0.000000 表示增加一个单位的需求量对总费用没有影响。

例2 自来水的输送问题 

1.题目

某市有甲、乙、丙、丁四个居民区, 自来水由A,B,C三个水库供应, 四个区每天必须得到保证的基本用水量分别为30,70,10,10 千吨, 但由于水源紧张, 三个水库每天最多只能分别供应 50,60,50千吨自来水, 由于地区位置的差别, 自来水公司从各水库向各区送水所需付出的引水管理费不同(见表), 其它管理费用都是450/千吨, 根据公司规定, 各区用户按统一标准 900/千吨收费, 此外, 四个区都向公司申请了额外用水量, 分 分别为每天50,70,20,40 千吨,

(1)该公司应如何分配供水量, 才能获利最多?

 (2)为了增加供水量, 自来水公司正在考虑进行水库改造,随三个水库的供水量都提高一倍, 问此时供水方案应如何改变?公司利润可增加多少?

 从水库向各区送水的净利润

(1)也可以基于利润表建立max模型. 

2.分析


问题的关键是如何安排从各个水库向四个居民区供水,使得引水管理费用达到最小, 注意到其它费用与供水安排无关.

3. 模型建立

4.模型求解 

5.问题讨论 

6.求解

 

 总结

数学规划模型是数学建模中用于描述和解决优化问题的一类模型。它通过构建目标函数和约束条件,将实际问题转化为数学形式,旨在寻找满足约束条件的最优解。数学规划模型广泛应用于各个领域,包括资源分配、生产计划、物流管理和金融投资等,通过线性规划、非线性规划、整数规划等方法,帮助决策者在复杂环境中做出最优选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47889.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络】Socket编程

文章目录 正确理解端口号理解源IP地址和目的IP地址认识端口号端口号和进程ID 理解Socket网络字节序socket编程接口创建socket套接字bind绑定套接字listen建立监听accept接受连接connect建立连接sendto发送数据接收数据close关闭套接字 sockaddr结构体 正确理解端口号 理解源IP…

使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试

前言 首届YashanDB「迁移体验官」开放后&#xff0c;陆续收到「体验官」们的投稿&#xff0c;小崖在此把优秀的投稿文章分享给大家~今天分享的用户文章是《使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试》&#xff08;作者&#xff1a;尚雷&#xff09;&#xff0c…

PHP宠物店萌宠小程序系统源码

&#x1f43e;萌宠生活新方式&#x1f43e; &#x1f3e1;【一键直达萌宠世界】 你是否也梦想着拥有一家随时能“云撸猫”、“云吸狗”的神奇小店&#xff1f;现在&#xff0c;“宠物店萌宠小程序”就是你的秘密花园&#xff01;&#x1f31f;只需轻轻一点&#xff0c;就能瞬…

什么是股指期货交割?股指期货交割的例子

股指期货交割是指在股指期货合约到期时&#xff0c;投资者需要按照合约规定完成的结算过程。与一般的商品期货、国债期货或外汇期货不同&#xff0c;股指期货采用的是现金交割方式。 股指期货交割的方式 【现金交割】股指期货的交割不需要实际交割一篮子股票指数成分股。相反…

(社恐福音)用python写一个定时弹窗功能

背景 背景是换了一个工作&#xff0c;需要点外卖了 写代码太认真的时候又经常忘记 这时候就需要一个闹钟 手机闹钟声音太大 会影响他人 所以用python 写一个弹窗功能&#xff0c;只影响自己 效果图 原理 管理列表和定时功能通过windows自带的计划完成 python程序不用占用后台…

7月18日学习打卡,数据结构堆

hello大家好呀&#xff0c;本博客目的在于记录暑假学习打卡&#xff0c;后续会整理成一个专栏&#xff0c;主要打算在暑假学习完数据结构&#xff0c;因此会发一些相关的数据结构实现的博客和一些刷的题&#xff0c;个人学习使用&#xff0c;也希望大家多多支持&#xff0c;有不…

ARM架构(二)—— arm v7/v8/v9寄存器介绍

1、ARM v7寄存器 1.1 通用寄存器 V7 V8开始 FIQ个IRQ优先级一样&#xff0c; 通用寄存器&#xff1a;31个 1.2 程序状态寄存器 CPSR是程序状态毒存器&#xff0c;保存条件标志位&#xff0c;中断禁止位&#xff0c;当前处理器模式等控制和状态位。每种异常模式下还存在SPSR&…

《系统架构设计师教程(第2版)》第12章-信息系统架构设计理论与实践-02-信息系统架构

文章目录 1. 概述1.1 信息系统架构&#xff08;ISA&#xff09;1.2 架构风格 2. 信息系统架构分类2.1 信息系统物理结构2.1.1 集中式结构2.1.2 分布式结构 2.2 信息系统的逻辑结构1&#xff09;横向综合2&#xff09;纵向综合3&#xff09;纵横综合 3. 信息系统架构的一般原理4…

Android使用ANativeWindow更新surfaceView内容最简Demo

SurfaceView简介 SurfaceView对比View的区别 安卓的普通VIew,都依赖于当前Activity的Window的surface&#xff0c;这个surface用于承载view树从底到顶绘制出来的所有内容&#xff0c;因此任何一个view需要更新时&#xff0c;都需要把所有view中底到顶进行更新&#xff0c;即使使…

解决:Linux上SVN 1.12版本以上无法直接存储明文密码

问题&#xff1a;今天在Linux机器上安装了SVN&#xff0c;作为客户端使用&#xff0c;首次执行SVN相关操作&#xff0c;输入账号密码信息后&#xff0c;后面再执行SVN相关操作&#xff08;比如"svn update"&#xff09;还是每次都需要输入密码。 回想以前在首次输入…

Python进阶(4)--正则表达式

正则表达式 在Python中&#xff0c;正则表达式&#xff08;Regular Expression&#xff0c;简称Regex&#xff09;是一种强大的文本处理工具&#xff0c;它允许你使用一种特殊的语法来匹配、查找、替换字符串中的文本。 在这之前&#xff0c;还记得之前我们是通过什么方法分割…

[论文笔记] pai-megatron-patch Qwen2-CT 长文本rope改yarn

更改: # Copyright (c) 2024 Alibaba PAI and Nvidia Megatron-LM Team. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License a…

【系统架构设计】数据库系统(二)

数据库系统&#xff08;二&#xff09; 数据库模式与范式数据库设计数据库设计的方法数据库设计的基本步骤 事务管理并发控制故障和恢复 备份与恢复分布式数据库系统数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 数据库设计的方法 目前已有的数据库设计方法可分…

element UI :el-table横向列内容超出宽度,滚动条不显示问题

是否能解决你问题的前提 **看到这篇文章的解决问题的方案之前&#xff0c;请先回忆你是否在项目中的全局样式或者私有组件中去单独设置过滚动条样式。如果有 请继续往下看&#xff1a;**单独设置过滚动条样式代码实例&#xff1a; ::-webkit-scrollbar {/*滚动条整体样式*/wi…

layui 让table里的下拉框不被遮挡

记录&#xff1a;layui 让table里的下拉框不被遮挡 /* 这个是让table里的下拉框不被遮挡 */ .goods_table .layui-select-title,.goods_table .layui-select-title input{line-height: 28px;height: 28px; }.goods_table .layui-table-cell {overflow: visible !important; }.…

【Django】网上蛋糕项目商城-注册,登录,修改用户信息,退出功能

概念 通过以上多篇文章的讲解&#xff0c;对该项目的功能已经实现了很多&#xff0c;本文将对该项目的用户注册&#xff0c;登录&#xff0c;修改用户信息&#xff0c;以及退出等功能的实现。 注册功能实现 点击head.html头部页面的注册按钮&#xff0c;触发超链接跳转至use…

操作系统发展简史(Unix/Linux 篇 + DOS/Windows 篇)+ Mac 与 Microsoft 之风云争霸

操作系统发展简史&#xff08;Unix/Linux 篇&#xff09; 说到操作系统&#xff0c;大家都不会陌生。我们天天都在接触操作系统 —— 用台式机或笔记本电脑&#xff0c;使用的是 windows 和 macOS 系统&#xff1b;用手机、平板电脑&#xff0c;则是 android&#xff08;安卓&…

来聊聊去中心化Redis集群节点如何完成通信

写在文章开头 今天我们来聊点有意思的&#xff0c;关于redis中集群间通信的设计与实现&#xff0c;本文将从源码的角度分析redis集群节点如何利用Gossip协议完成节点间的通信与传播&#xff0c;希望对你有帮助。 Hi&#xff0c;我是 sharkChili &#xff0c;是个不断在硬核技术…

MAVSKD-Java开源库mavsdk_server库macOS平台编译

1.下载源码 2.使用IDEA打开,进行mavsdk_server目录,使用gradle进行编译 3.开始编译时会自动下载依赖 4.下载完成后,会自动编译 5.编译成功 6.成功生成AAR文件

2024算力基础设施安全架构设计与思考(免费下载)

算网安全体系是将数据中心集群、算力枢纽、一体化大数据中心三个层级的安全需求进行工程化解耦&#xff0c;从国家安全角度统筹设计&#xff0c;通过安全 服务化方式&#xff0c;依托威胁情报和指挥协同通道将三层四级安全体系串联贯通&#xff0c;达成一体化大数据安全目标。 …