数学建模--lingo解决线性规划问题~~灵敏度分析的认识

news2024/12/23 19:25:04

目录

1.线性规划问题举隅

(1)问题介绍

(2)问题分析

(3)灵敏度分析

(4)方法缺陷

(5)可行域&凸集

2.lingo的简单认识

(1)默认设置

(2)运行按键

(3)运行窗口

(4)总结提炼

(5)激活全局求解器

3.灵敏度分析

(1)案例分析

(2)注意事项

4.二次规划

(1)问题介绍

(2)程序部分

(3)相关说明

下集预告--集合~属性~~指派集合~~~~


1.线性规划问题举隅

(1)问题介绍

(2)问题分析

这个就是一个生产奶制品的问题,一桶牛奶有两种选择,一种就是生产3公斤的A1奶制品,一种就是生产4公斤的A2奶制品,480指的是这个所有工人的总的工作时长,A1这个奶制品最多生产100公斤,一共是有50桶牛奶作为原料,求解这个最大利润的生产方案;

(3)灵敏度分析

上面的这个小三问实际上就是和这个灵敏度分析相关的,这个灵敏度分析在数学建模里面不是不可少的,但是这个写好了就是我们的论文的亮点,但是实际上大部分参加比赛的同学都是在这个灵敏度分析部分不疼不痒的写上几句话,这个其实是我们需要学习的地方,通过这三个小问我们简单的认识一下这个灵敏度分析的过程;

(4)方法缺陷

上面的这个就是决策变量和目标函数以及约束条件,下面的是使用的图解法进行求解的,这个实际上我们高中阶段是学习过的,但是这个方法的缺点就是只能解决二元的归化问题,因为这个要画图,如果这个变量的个数超过两个,这个图就不好画,画了也不直观;

(5)可行域&凸集

图解法的最优解一定是在端点位置取到的,这个可行域我们也称之为凸集;

2.lingo的简单认识

(1)默认设置

简单的一个例子:以model开始,以end结束,先写目标函数,后写约束条件;我们没有把这个x,y>=0写进去是因为这个lingo里面的变量默认都是大于0的,我们后面如果想要取消这个默认限制,可以使用free函数,取消这个变量大于0的默认设置;

(2)运行按键

运行窗口介绍,我们可以点击这个solve命令里面的solve命令,也可以直接使用这个工具栏里面的类似于扎飞镖的小标志,都是可以运行这个程序的;

(3)运行窗口

运行之后会弹出来两个窗口,一个就是下面的这个,里面有一些参数说明,可以简单的了解一下; 

 

(4)总结提炼

实际上在建模里面,我们是一般不会很留意这个第一个相关设置的窗口的,像这个里面的变量的个数,占用内存这些我们不会关心,我们只需要关注第二个窗口里面的目标函数最优值以及这个相关决策变量的取值;

(5)激活全局求解器

这个就是对于一些规划问题,我们为了避免程序找到局部最优解就停止,而是让这个程序找到全局最优解,这个时候我们需要激活相关的设置;点击options------点击global solver------点击这个use前面的勾选按钮;

3.灵敏度分析

(1)案例分析

这个灵敏度分析lingo求解的时候是会进行分析的,但是这个不会显示,我们仔细如果需要的话就需要我们自己手动的调出来;

 我们通过一个案例认识一下这个灵敏度分析:

求解程序:

选择这个灵敏度分析,先进行下面的设置,还是在options里面,选择这个price&ranges选项,表示完成设置,然后把这个程序重新运行一遍;

程序重新运行一遍之后,点击这个solvers里面的range选项,就可以看到下面的页面选项:

上面的表显示的就是这个变量的变化范围,什么是灵敏度分析,灵敏度分析就是系数的变化范围,在这个范围里面变化不会影响到最优解,但是会影响最优值,以这个里面的desk一行为例子,这个原本的系数是60(见下图),现在灵敏度分析告诉我们,这个可以向上浮动20,向下浮动4,也就是在56~80之间变化都不会影响这个最优解,最优解就是这个生产几个桌子,几个凳子,几个椅子,原来是几个,在这个56~80的范围里面还是几个,这个最优解是不会改变的,但是最优值会改变,因为这个决策变量系数都变化了;

 下面的表格表示的就是这个约束条件灵敏度分析,2这一行就是第一个约束条件,因为这个lingo把这个目标函数当成了第一个约束条件;

原来的约束条件是<=48,现在是可以在负无穷到72(48+24)之间进行浮动,那个infinity就是表示的负无穷,这个范围里面变化时候不会影响到最优值,因为这个时候系数也没有改变,所以这个时候的最优解也是没有变化的;

以上就是这个案例的灵敏度分析的过程,相信你通过这个题目会对灵敏度分析有一个立体的认识;

(2)注意事项

因为这个灵敏度分析是我们自己手动调用的,但是这个会影响我们的程序的运行效率,延长运行时间,因此我们平常不使用的时候不会进行相关的设置;

4.二次规划

(1)问题介绍

二次规划就是这个问题里面的决策变量的次数是二次的,像下面的这个里面的x1的平方,x2的平方等等,s.t表示的就是约束条件,其中这个问题里面要求这个决策变量必须是整数,这个时候需要使用一个函数grim函数

(2)程序部分

 

(3)相关说明

第一个就是这个语句的位置对于我们整个程序没有影响,因此我们上面的程序把这个max函数放在了第二行,但是我们一般不会这么搞,只是让大家知道这个是可以的;

gin是取整函数,free是解除限制函数(默认的一些设置),BND函数,就是如果我们已经知道了这个变量的范围,我们就可以使用这个函数告诉系统这个变量的搜索区间,减少这个时间的消耗,上面的批注里面有一个实例,就是我们知道这个x1变量的范围是1~10,我们就可以写做这个BND(1,x1,10),bin函数针对于01规划使用的;

下集预告--集合~属性~~指派集合~~~~

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

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

相关文章

VSCode常用的一些插件

Chinese (Simplified) 汉语&#xff08;简体&#xff09;拓展包。 Auto Close Tag 可以自动增加xml/html的闭合标签。 CodeSnap 截图神器。截图效果在下面。 Dracula Official vscode一个很好看的主题。 Git Graph git管理工具。 GitHub Repositories 有了它&#xff0c;不…

C++02 变量和基本类型

基本类型 字、字节、bit、Byte之间的关系 字 word 字节 Byte 位 bit 1字 2字节 <---> 1word 2Byte 1字节 8位 <---> 1Byte 8bit 1Byte 8bits 1KB 1024Bytes 1MB 1024KB 1GB 1024MB #include <iostream> using namespace std; int main() {/*字符…

手把手教你打造高精度STM32数字时钟,超详细步骤解析

STM32数字时钟项目详解 1. 项目概述 STM32数字时钟是一个集成了时间显示、闹钟功能、温湿度检测等多功能于一体的小型电子设备。它利用STM32的实时时钟(RTC)功能作为核心,配合LCD显示屏、按键输入、温湿度传感器等外设,实现了一个功能丰富的数字时钟系统。 2. 硬件组成 STM…

腾讯云对象存储cors错误处理

最近将公司的域名进行了修改&#xff0c;同时将腾讯云的对象存储改成了https&#xff0c;为了安全嘛。然后上传软件包的时候发现上传软件就失败了。 在浏览器中打开该 HTML 文件&#xff0c;单击 Test CORS 发送请求后&#xff0c;出现以下错误&#xff0c;错误提示&#xff1…

【Java Web】PostMan业务接口测试工具

目录 一、PostMan概述 二、如何安装Postman 三、Postman的基本使用 一、PostMan概述 在生产环境中&#xff0c;一个项目在开发之前、前后端开发工程师通常需要商讨在前后端数据交互时需要采用什么样的规范格式&#xff0c;如&#xff1a;前端向后端发送请求的uri、请求和响…

【索引】数据库索引之散列索引

目录 1、什么是散列&#xff1f; 2、如何评价一个散列函数的好坏&#xff1f; 3、散列中的桶溢出处理 4、散列在索引中的应用 4、顺序索引和散列索引的比较 1、什么是散列&#xff1f; 顺序文件组织的一个缺点是我们必须访问索引结构来定位数据&#xff0c;或者必须使用二…

datax入门(datax的安装与简单使用)——01

datax入门&#xff08;datax的安装与简单使用&#xff09;——01 1. 官网2. 工具部署&#xff08;通过下载DataX工具包&#xff09;2.1 下载、解压2.2 配置2.2.1 查看配置模版2.2.2 根据模版配置json2.2.3 启动DataX 3. datax的简单使用3.1 mysql2stream3.2 mysql2mysql3.2.1 拼…

HTML【重点标签】

一、列表标签 1.无序列表 父级别&#xff1a; 无序列表的标题 ----表示无序列表的整体&#xff0c;用于包裹li标签 子级别&#xff1a; 无序列表一行的内容 ----表示无序列表的每一项&#xff0c;用于包含一行的内容 语义&#xff1a;构建没有顺序的列表 特点&#xff1a;列…

php聚合快递寄快递小程序

一、引言&#xff1a;告别传统寄件&#xff0c;拥抱便捷新选择 在数字化时代&#xff0c;我们越来越追求便捷和高效。传统的寄件方式已经无法满足现代人快速、便捷的需求。因此&#xff0c;一款聚合快递优惠寄件小程序应运而生&#xff0c;它集合了多家快递公司&#xff0c;为…

Linux高级编程——进程

1.进程的含义? 进程是一个程序执行的过程&#xff0c;会去分配内存资源&#xff0c;cpu的调度 PID, 进程标识符 当前工作路径 chdir umask 0002 进程打开的文件列表 文件IO中有提到 &#xff08;类似于标准输入 标准输出的编号&#xff0c;系统给0&#xff0c;1&#xf…

台灯的功能作用有哪些?分享好用的护眼灯!看完就知道台灯怎么选

在当今时代&#xff0c;学生们长时间地沉浸于平板、手机、电脑等电子设备中&#xff0c;这些设备的屏幕往往伴随着频闪和蓝光辐射&#xff0c;这无疑对视力健康构成了潜在威胁。家长们日益关注孩子的护眼养眼问题&#xff0c;因为视力疲劳和眼部疾病不仅会降低个体的生活质量&a…

Hyperf 在 NginxProxyManager 如何配置 websocket?

新建代理 填写域名等服务信息&#xff0c;选择支持WebSockets。 创建 SSL 编写nginx配置 location /message.io{proxy_pass http://<你的ip>:<对应端口号>;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upg…

VMware虚拟机三种网络模式设置 - Host-Only(仅主机模式)

一、前言 在之前的《Bridged&#xff08;桥接模式&#xff09;》、《NAT&#xff08;网络地址转换模式&#xff09;》中&#xff0c;我详细介绍了虚拟机网络模式设置中的桥接模式与网络地址转换模式。今天详细讲解一下Host-Only&#xff08;仅主机模式&#xff09;。 在VMware虚…

vue + Lodop 制作可视化设计页面 实现打印设计功能(二)

历史&#xff1a; vue2 Lodop 制作可视化设计页面 实现打印设计功能&#xff08;一&#xff09; 前言&#xff1a; 之前本来打算用直接拿之前做的vue2版本改改就发的&#xff0c;但考虑到现在主流都是vue3了&#xff0c;所以从这篇文章开始使用vue3来写&#xff0c;以及最后…

4年突破20亿,今麦郎如何持续策划凉白开极致产品力?

范总在方便面市场拥有30年的丰富经验&#xff0c;并曾创造过奇迹。1994年&#xff0c;他从冰糖生意进入方便面行业&#xff0c;创立今麦郎的前身华龙集团。当时&#xff0c;方便面市场已经进入红海阶段&#xff0c;市场上有上千家企业&#xff0c;康师傅和统一占据了80%的市场份…

Apple Intelligence,我们能得到什么?(上)

苹果公司WWDC 2024发布会&#xff0c;苹果AI成为最吸睛的焦点。不过&#xff0c;苹果的AI不是大家口中的AI&#xff0c;而是苹果独有的概念&#xff1a;Apple Intelligence&#xff0c;苹果智能。 所谓Apple Intelligence&#xff0c;被定义为iPhone、iPad和Mac的个人智能系统…

Arduino - 继电器

Arduino - 继电器 In a previous tutorial, we have learned how to turn on/off an LED. In this tutorial, we are going to learn how to turn on/off some kind of devices that use the high voltage power supply(such as a light bulb, fan, electromagnetic lock, lin…

Linux高并发服务器开发(五)终端和守护进程

文章目录 1 概念2 会话基本概念和API3 守护进程&#xff08;重点&#xff09;守护进程模型 4 获取当前系统时间 1 概念 终端 进程的集合叫进程组 也称为作业 是执行程序的过程 2 会话基本概念和API 进程组的集合 3 守护进程&#xff08;重点&#xff09; 独立于控制…

Linux内核中网络数据的流量控制(TC: Traffic control 和 QDISC)

(个人能力有限&#xff0c;本文如有错误之处&#xff0c;欢迎交流指正) 1 简介 在进行网络数据 接收 和 发送 过程中&#xff0c;网卡设备到L3(网络层) 中间会经历流量控制(Traffic control)。 《BPF之巅.洞悉Linux系统和应⽤性能》P413 qdisc这个可选层可以⽤来管理⽹络包的…

机器学习-数据预处理-聚类-回归-分类-单车数据集

机器学习-数据预处理-聚类-回归-分类-单车数据集 前言一、数据预处理1. 导入数据集2. 数据预处理3. 处理缺失值4. 生成特征用于后续进一步的分析 二、数据分布可视化1. 骑行时长分布2. 起始站和终点站分布可视化3. 高峰期与非高峰期骑行频次分布 三、聚类分析1. K-means聚类 四…