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

目录

例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.rhkb.cn/news/380648.html

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

相关文章

Python酷库之旅-第三方库Pandas(036)

目录 一、用法精讲 111、pandas.Series.item方法 111-1、语法 111-2、参数 111-3、功能 111-4、返回值 111-5、说明 111-6、用法 111-6-1、数据准备 111-6-2、代码示例 111-6-3、结果输出 112、pandas.Series.xs方法 112-1、语法 112-2、参数 112-3、功能 112-…

基于Centos7搭建rsyslog服务器

一、配置rsyslog可接收日志 1、准备新的Centos7环境 2、部署lnmp环境 # 安装扩展源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo# 安装扩展源 yum install nginx -y# 安装nginx yum install -y php php-devel php-fpm php-mysql php-co…

mac二进制安装operator-sdk

0. 前置条件 1. 安装go 安装步骤略。 1. 下载operator-sdk源码包 https://github.com/operator-framework/operator-sdk 1.1 选择适合当前go版本的operator版本&#xff0c;在operator-sdk/go.mod文件中可以查看Operator-sdk使用的go版本。 2. 编译 源码包下载后&#x…

【从零开始实现stm32无刷电机FOC】【实践】【5/7 stm32 adc外设的高级用法】

目录 采样时刻触发采样同步采样 点击查看本文开源的完整FOC工程 本节介绍的adc外设高级用法用于电机电流控制。 从前面几节可知&#xff0c;电机力矩来自于转子的q轴受磁力&#xff0c;而磁场强度与电流成正比&#xff0c;也就是说电机力矩与q轴电流成正相关&#xff0c;控制了…

UDP网口(1)概述

文章目录 1.计算机网络知识在互联网中的应用2.认识FPGA实现UDP网口通信3.FPGA实现UDP网口通信的方案4.FPGA实现UDP网口文章安排5.传送门 1.计算机网络知识在互联网中的应用 以在浏览器中输入淘宝网为例&#xff0c;介绍数据在互联网是如何传输的。我们将要发送的数据包称作A&a…

SpringAI简单使用(本地模型+自定义知识库)

Ollama 简介 Ollama是一个开源的大型语言模型服务工具&#xff0c;它允许用户在本地机器上构建和运行语言模型&#xff0c;提供了一个简单易用的API来创建、运行和管理模型&#xff0c;同时还提供了丰富的预构建模型库&#xff0c;这些模型可以轻松地应用在多种应用场景中。O…

为 android编译 luajit库、 交叉编译

时间&#xff1a;20200719 本机环境&#xff1a;iMac2017 macOS11.4 参考: 官方的文档&#xff1a;Use the NDK with other build systems 写在前边&#xff1a;交叉编译跟普通编译类似&#xff0c;无非是利用特殊的编译器、链接器生成动态或静态库; make 本质上是按照 Make…

哈默纳科HarmonicDrive减速机组装注意事项

在机械行业中&#xff0c;精密传动设备HarmonicDrive减速机对于维持机械运作的稳定性和高效性起着至关重要的作用。然而在减速机的组装过程中&#xff0c;任何一个细微的错误都可能导致其运转时出现振动、异响等不良现象&#xff0c;严重时甚至可能影响整机的性能。因此&#x…

Python+Django+MySQL的新闻发布管理系统【附源码,运行简单】

PythonDjangoMySQL的新闻发布管理系统【附源码&#xff0c;运行简单】 总览 1、《新闻发布管理系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 登录2.2 程序主页面2.3 新闻新增界面2.4 文章编辑界面2.5 新闻详情页2.7 其他功能贴图 3、下载 总览 自己做的项目&…

Flink调优详解:案例解析(第42天)

系列文章目录 一、Flink-任务参数配置 二、Flink-SQL调优 三、阿里云Flink调优 文章目录 系列文章目录前言一、Flink-任务参数配置1.1 运行时参数1.2 优化器参数1.3 表参数 二、Flink-SQL调优2.1 mini-batch聚合2.2 两阶段聚合2.3 分桶2.4 filter去重&#xff08;了解&#xf…

代码解读:Diffusion Models中的长宽桶技术(Aspect Ratio Bucketing)

Diffusion Models专栏文章汇总&#xff1a;入门与实战 前言&#xff1a;自从SDXL提出了长宽桶技术之后&#xff0c;彻底解决了不同长宽比的图像输入问题&#xff0c;现在已经成为训练扩散模型必选的方案。这篇博客从代码详细解读如何在模型训练的时候运用长宽桶技术(Aspect Rat…

UNiapp 微信小程序渐变不生效

开始用的一直是这个&#xff0c;调试一直没问题&#xff0c;但是重新启动就没生效&#xff0c;经查询这个不适合小程序使用&#xff1a;不适合没生效 background-image:linear-gradient(to right, #33f38d8a,#6dd5ed00); 正确使用下面这个&#xff1a; 生效&#xff0c;适合…

Python list comprehension (列表推导式 - 列表解析式 - 列表生成式)

Python list comprehension {列表推导式 - 列表解析式 - 列表生成式} 1. Python list comprehension (列表推导式 - 列表解析式 - 列表生成式)2. Example3. ExampleReferences Python 中的列表解析式并不是用来解决全新的问题&#xff0c;只是为解决已有问题提供新的语法。 列…

(10)深入理解pandas的核心数据结构:DataFrame高效数据清洗技巧

目录 前言1. DataFrame数据清洗1.1 处理缺失值&#xff08;NaNs&#xff09;1.1.1 数据准备1.1.2 读取数据1.1.3 查找具有 null 值或缺失值的行和列1.1.4 计算每列缺失值的总数1.1.5 删除包含 null 值或缺失值的行1.1.6 利用 .fillna&#xff08;&#xff09; 方法用Portfolio …

Windows搭建RTMP视频流服务器

参考了一篇文章&#xff0c;见文末。 博客中nginx下载地址失效&#xff0c;附上一个有效的地址&#xff1a; Index of /download/ 另外&#xff0c;在搭建过程中&#xff0c;遇到的问题总结如下&#xff1a; 1 两个压缩包下载解压并重命名后&#xff0c;需要 将nginx-rtmp…

如何使用简鹿水印助手或 Photoshop 给照片添加文字

在社交媒体中&#xff0c;为照片添加个性化的文字已经成为了一种流行趋势。无论是添加注释、引用名言还是表达情感&#xff0c;文字都能够为图片增添额外的意义和风格。本篇文章将使用“简鹿水印助手”和“Adobe Photoshop”这两种工具给照片添加文字的详细步骤。 使用简鹿水印…

【python基础】组合数据类型:元组、列表、集合、映射

文章目录 一. 序列类型1. 元组类型2. 列表类型&#xff08;list&#xff09;2.1. 列表创建2.2 列表操作2.3. 列表元素遍历 ing元素列表求平均值删除散的倍数 二. 集合类型&#xff08;set&#xff09;三. 映射类型&#xff08;map&#xff09;1. 字典创建2. 字典操作3. 字典遍历…

【EI检索】第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)

一、会议信息 大会官网&#xff1a;www.mvipit.org 官方邮箱&#xff1a;mvipit163.com 会议出版&#xff1a;IEEE CPS 出版 会议检索&#xff1a;EI & Scopus 检索 会议地点&#xff1a;河北张家口 会议时间&#xff1a;2024 年 9 月 13 日-9 月 15 日 二、征稿主题…

【香橙派开发板测试】:在黑科技Orange Pi AIpro部署YOLOv8深度学习纤维分割检测模型

文章目录 &#x1f680;&#x1f680;&#x1f680;前言一、1️⃣ Orange Pi AIpro开发板相关介绍1.1 &#x1f393; 核心配置1.2 ✨开发板接口详情图1.3 ⭐️开箱展示 二、2️⃣配置开发板详细教程2.1 &#x1f393; 烧录镜像系统2.2 ✨配置网络2.3 ⭐️使用SSH连接主板 三、…

Web开发:图片九宫格与非九宫格动态切换效果(HTML、CSS、JavaScript)

目录 一、业务需求 二、实现思路 三、实现过程 1、基础页面 2、图片大小调整 3、图片位置调整 4、鼠标控制切换 5、添加过渡 四、完整代码 一、业务需求 默认显示基础图片&#xff1b; 当鼠标移入&#xff0c;使用九宫格效果展示图片&#xff1b; 当鼠标离开&#…