数学建模---包汤圆问题引发的思考

news2025/8/4 11:24:02

1.前言

(1)虽然我学习这个数学建模已经很长一段时间了,但是我认为自己始终是一个门外汉,只是学习了一下这个基本的建模软件使用方法,以及一些相关的知识,虽然参加了一次这个电工杯的比赛,但是这个自身的实力和这个比赛的要求还是相差很远的,所以一直还在不断地进行这个学习提升自我,今天听了这个天津工业大学的汪晓银教授的讲课,真的感觉这个老师讲的超级棒,让我对于这个建模有了深刻的理解和体会;

(2)对于下面的这个图片,对于每个初学数学建模的小白应该是再熟悉也不过了,但是我对于这个始终没有一个很清晰的理解,今天是通过这个包汤圆的问题深刻的体会了这个步骤;

(3)下面会先总结一下今天的这个数学建模的学习,再和大家简单的聊一聊这个包汤圆的问题; 

2.感受

(1)我是今天上午学习这个数学建模,发现一个很完整的视频,就是关于这个线性规划的,我只是无意之间点进去这个视频 ,因为是这个工大的,虽然这个学校也是位于这个天津市,但是自己对于这个学校没有什么了解,所以我就点进去了,但是听着听着就发现这个老师讲的真好,就去了解这个老师的更多的讲课视频,晚上才学习到这个包汤圆的问题;

(2)这个线性规划,就是属于运筹学里面的优化问题,这个前天天理的宋老师来我们学校进行这个数学建模的宣讲,这个老师的课件里面有一张就是这个数学建模涉及到的知识,第一项就是运筹学,当时感觉自己没有听说过,感觉还是挺高大上的,今天知道这个优化问题就是属于这个运筹学范畴才真正的对于这个运筹学有了更进一步的了解,后来还是特意的百度一下,发现这个运筹学涉及到的知识范围是非常宽的,他是属于这个管理学的知识(其实我对于这个不是很理解),包括这个决策等等之类的吧,这个优化问题就是决策问题,所以这个优化问题就和这个运筹学建立了联系吧,但是这个运筹学肯定是不会局限在这个优化问题上面的;

(3)这个优化问题我之前也是接触过,就是这个有一个目标函数和多个约束条件,这个求解最优的情况,分为这个单目标优化和多目标优化两类问题,这个多目标就是有多个目标函数,综合考虑多个目标函数得到这个最优解,比这个单目标规划求解起来肯定是更加复杂的;

(4)对于这个优化类的问题,今天还学习使用了一款软件,就是lingo软件,这个软件就是专门解决这个优化类问题而产生的,但是这个软件的功能肯定是不止于此的,其他方面的应用还等待着我去挖掘,但是目前肯定是要学习lingo在优化问题的使用,今天也是安装了一个并且已经上手使用了,感觉还是有一些难度的,但是这个操作页面很单一,学起来不会很困难,唯一不好的就是这个软件全英文;并不是很排斥英文,而是这个英文对于我们的这个软件的学习和使用稍微有一些困扰,但是对于我们的这个英语水平的提升肯定是潜移默化的;

(5)这个软件我之前就是听说过的,但是这个真正的看到还是挺震惊的,上面的这个图片就是这个软件的操作页面,我们对于这个优化问题的求解基本上就是在这个软件上面去进行的(这个上面的工具栏里面的我现在还不是很理解),但是我知道的就是这个第一行向白纸一眼的就是创建一个新的窗口,这个页面是允许多个窗口同时存在的,但是一次只能运行一个窗口,然后点击上面的solve里面的这个solve就可以让这个程序运行了;

(6)我是选择这个一个汪教授上课的一个案例作为例子的,这个案例也是非常的经典优化问题,这个就是单目标的优化问题,之前是使用matlab的linprog函数处理的,但是具体哦是怎么处理的我已经不记得了,但是我觉得使用这个lingo软件去处理这个问题比这个MATLAB会更件容易,这个lingo上面的大部分代码我们是可以看懂的;

 

这个就是针对于上面的运粮食的问题,建立的模型,这个也非常容易理解,这个约束条件里面的就是这个运输的粮食不可以超过这个粮库的总量,而且这个每一个商店至少需要的粮食也是有这个最低要求的,我们这些作为这个约束条件,在这个数学里面使用这个s.t表示的就是约束条件,我们在这个高等数学的学习过程里面,也是遇到过这些问题的,我们学习的就是有条件的极值问题,用的就是这个拉格朗日乘数法进行这个求解的,但是那个是针对与只有一个或者少量的自变量而言的,我们要进行这个偏导数的求解,这个显然是不满足的,使用lingo,输入这个求解最小值的目标函数和这个五个约束条件就可以得到这个每个粮库向每一个商店运输的粮食的多少了;

(7)运行之后这个结果也是很显然的,最小的这个运费就是160,然后这个每一个粮库向每一个商店运输的粮食的数量上面也是有显示的;就是分别的这个对应的运输关系;

3.模型的反思

(1)实际上上面的这个lingo使用的方法叫做傻瓜编程 ,因为这个上面的语言都是我们熟悉的,而且我们是一共定义了6个变量,其实在汪教授组开始讲解这个方法的时候,我感觉这个lingo还是很容易的,就输入这个几行代码就求解出来了,而且好像这个lingo的语言和这个数学语言的契合度是比较高的,因为这个lingo里面的这个代码就是我们的数学表达式,只不过在lingo里面没有这个大于等于,小于等于号,只有大于号和小于号,仅此而已;

(2)如果你也是这样想的,那么你就大错特错了,因为上面的这个代码虽然简单,但是却不是我们想要的,我们需要的是数学语言,符号语言,上面的只是一种傻瓜式的写法,下面的才是我们真正应该掌握的;

(3)很显然,第二种写法使用这个表达式的方法,全是类似于这个数列的通项这样的式子,表达也是使用的求和符号,而不是普通的加号,这里好像还体会不到这个方法的精妙之处,因为这个题目的6个变量还不是很多,但是超过10个变量之后,我们使用这个方法的简洁性就体现了出来,因为这个只需要一个求和表达式,而上面的傻瓜编程需要一个一个的加起来,起码在这个代码长度上面就不一样了,我们的这个代码,强调的就是简洁,表达相同的问题,代码的简洁性可以体现这个编程者的能力,因此我们要学会上面的第二种解法,使用求和符号写出目标函数和约束条件;

(4)实际上这个老师说的很对,你对于这个数学问题,使用x1,x2,x3,x4,x5这些变量表达出来,还是使用求和运算表达出来,这个给老师的感觉是不一样的,如果你的这个变量的定义里面没有一个数字,全是通项这个形式,老师就会觉得你还是有东西的,这个就是汪教授说的,我感觉确实如此,从这个角度而言,我们也应该提高自己的这个能力;

(5)下面的这个就是在该情况下的代码,但是这个代码好像变长了,因为这个题目的变量比较少,因为这个里面涉及到这个段编程和求和函数,数组表示,我还没有学习,这里就不误人子弟了,感兴趣的同学可以自主进行学习;

 

4.包汤圆问题

(1)这个问题汪教授刚开始提出来的时候我还没有理解,看了三五遍才明白这个题目的意思,就是有这个一盆馅和一坨面团,这个面团把这个馅全部用完,可以包出来100个汤圆,现在这个面团不变,但是这个馅变多了,这个肯定就需要我们进行这个调整,现在的问题就是是多包几个还是少包几个;

(2)这个问题是什么意思了,就是这个馅变多了,我们原来是包了100个汤圆,我们现在可以包110个,这样就可能会把这个馅使用完,我们也可以包90个,这样每一个汤圆大一些,也可以把这个汤圆用完,现在问题就是多包几个还是少包几个汤圆,看似这个问题两个方式都可以,但是实际上这个问题的答案就是确定的,答案就是少包几个,为什么会这样呢,我们可以分析一下;

(3)按照上面的这个步骤,我们首先就是把这个问题转化为这个数学问题,怎么转化,这个也是数学建模需要的一种能力,因为这个建模的赛题里面也是一个实际问题,需要我们进行这个转化,这个题目的信息量比较少,因此转化起来并不是很困难,这个汤圆的话,无非就是这个面皮的面积,和这个汤圆的体积;

 (4)我们这个问题分析需要从体积进行这个分析,我们把这个看成一个超级大的汤圆,记作大V,变成无数个小汤圆之后,记作nv,我们需要进行比较的就是这个V和nv之间的大小关系,如果这个V>nv的话,我们需要少包几个,因为这个我们划分之后这个体积的和变小了,那么这个馅就放不下了,因此我们要少包几个,如果V<nv的话,我们就要多包几个(上面的这个过程可能不是很好理解,希望读者慢慢品味。我当时也是想了好久才明白的),推荐去看这个老师当时的讲解,视频的连接我放在下面了,值得去看一看;

数学建模icon-default.png?t=N7T8https://www.bilibili.com/video/BV1R7411E7M4/?spm_id_from=333.788.recommend_more_video.14&vd_source=a432cb5e896a2b96961d1f73a6ebe0ca(5)模型假设,我们不可以不假设,也不可以假设过度,该考虑的我们还是要考虑的,什么叫做假设过度呢,就是我们不能过度的假设,这样的话这个模型也就没有必要建立了;

(6)通过这个数学的分析和运算之后,这个可以证明出来这个V>nv的,因此的话这个答案就是少包几个,我们可以进行这个模型的推广,例如生活里面的一瓶牙膏,这个商城进行活动,一大瓶药膏和多个小瓶牙膏,我们如何进行选择,这个问题本质上和这个包汤圆的问题是没有本质的区别的,这个就可以把我们建立的模型推广到有关的问题里面去,解决这一类问题,而不是一个问题;

(7)通过这个问题,我也是对于这个建模有了更进一步的理解,这个也是一个成长的过程吧,路漫漫其修远兮,吾将上下而求索~~~

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

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

相关文章

编译——链接

在ANSI C的任何一种实现中&#xff0c;存在两个不同的环境&#xff1a; 第一种就是编译环境&#xff0c;在这个环境中源代码被转换成可执行的机器指令&#xff08;二进制指令&#xff09; 第二种是执行环境&#xff0c;它用于实现执行代码 翻译环境 其实翻译环境就是指编译和链…

数据结构和算法(2)---- Stack 的原理和实现

Stack 的定义和结构 栈(Stack)是仅限于在表尾进行插入和删除的线性表 我们把允许插入和删除的一端称为栈顶(top)&#xff0c;另一端称为栈底(bottom)&#xff0c;不含任何元素的栈称为空栈&#xff0c;栈也被称为先进后出(Last In First Out)的线性表&#xff0c;简称LIFO结构…

RabbitMQ消息队列 安装及基本介绍

一.MQ介绍 Message Queue &#xff08;MQ&#xff09;是一种跨进程的通信机制&#xff0c;用于在系统之间进行传递消息。MQ作为消息中间件&#xff0c;可以进行异步处理请求&#xff0c;从而减少请求响应时间和解耦 1.1 应用场景 1.1.1 系统之间通过MQ进行消息通信&#xff0…

如何给MySQL设置远程访问?(官方校正版)

在现代数据驱动的世界中&#xff0c;数据库的灵活性和可访问性变得尤为重要。设置MySQL的远程访问不仅仅是为了方便&#xff0c;还为企业和开发者提供了多种优势。无论是在分布式团队协作、跨地域数据管理&#xff0c;还是在系统集成和实时数据访问方面&#xff0c;远程访问都能…

荣耀社招 测试工程师 技术一面

面经哥只做互联网社招面试经历分享&#xff0c;关注我&#xff0c;每日推送精选面经&#xff0c;面试前&#xff0c;先找面经哥 1、自我介绍 2、具体介绍做过的项目&#xff0c;支撑的事什么业务 3、防火墙测试时、平时有写脚本或者使用第三方工具吗 4、对互联网的安全测试规…

网络知识 思维导图

计算机网络基础知识点多且杂&#xff0c;想要系统地学习&#xff0c;思维导图肯定是必不可少的。今天整理了38张思维导图&#xff0c;帮助你轻松理清思路&#xff0c;快速掌握关键内容。建议你收藏起来慢慢看&#xff0c;在看过之后最好能重新动手画一画&#xff0c;让计算机网…

图的学习.

目录 一、图的基本概念 1.1图的种类 1.2顶点的度、入度和出度 1.3边的权和网 1.4路径、路径长度和回路 二、图的存储结构 2.1邻接矩阵法 2.2邻接表法 2.3十字链表 2.4邻接多重表 三、图的遍历 3.1广度优先搜索 3.2深度优先搜索 四、图的应用 4.1最小生成树 4.1.…

音视频开发29 FFmpeg 音频编码- 流程以及重要API,该章节使用AAC编码说明

此章节的一些参数&#xff0c;需要先掌握aac的一些基本知识&#xff1a;​​​​​​aac音视频开发13 FFmpeg 音频 --- 常用音频格式AAC&#xff0c;AAC编码器&#xff0c; AAC ADTS格式 。_ffmpeg aac data数据格式-CSDN博客 目的&#xff1a; 从本地⽂件读取PCM数据进⾏AAC格…

mysql启动时遇到:本地计算机上的MySQL服务启动后停止

1.问题重述&#xff1a; 今早启动数据库时发现无法启动&#xff0c;报错&#xff1a;本地计算机 上的 MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。 2.解决方案&#xff1a; 1.数据备份&#xff1a; 2.在bin目录下&#xff0c;命令行中输入 mysqld …

1.3 Sqoop 数据同步工具详细教程

Apache Sqoop 是一个开源工具&#xff0c;用于在 Apache Hadoop 和关系型数据库&#xff08;如 MySQL、Oracle、PostgreSQL 等&#xff09;之间高效传输数据。Sqoop 可以将结构化数据从关系型数据库导入到 Hadoop 的 HDFS、Hive 和 HBase 中&#xff0c;也可以将数据从 Hadoop …

[SAP ABAP] 追加内表数据

向内表中逐条追加数据记录 语法格式 APPEND <wa> TO <itab>. <wa>&#xff1a;代表工作区 <itab>&#xff1a;代表内表 示例1 结果显示&#xff1a; 将一个内表中的所有数据记录添加到另一个内表中 语法格式 APPEND LINES OF <itab1> TO <…

基于YOLOV5的车辆行人检测系统的设计与实现(PyQT页面+YOLOv5模型)

简介 随着智能交通系统的发展,实时检测车辆和行人变得越来越重要,以提高道路安全和交通管理效率。我们开发了一种基于YOLOv5目标检测模型的车辆与行人检测系统。本报告将详细介绍该系统的实际应用与实现,包括系统架构、功能实现、使用说明、检测示例、数据集获取与介绍、YO…

BUG cn.bing.com 重定向的次数过多,无法搜索内容

BUG cn.bing.com 重定向的次数过多&#xff0c;无法搜索内容 环境 windows 11 edge浏览器详情 使用Microsoft Edge 必应搜索显示"cn.bing.com"重定向次数过多&#xff0c;无法进行正常的检索功能 解决办法 检查是否开启某些科_学_上_网&#xff08;翻_墙&#xf…

接口性能优化方法总结

接口性能优化是后端开发人员经常碰到的一道面试题&#xff0c;因为它是一个跟开发语言无关的公共问题。 这个问题既可以很简单&#xff0c;也可以相当复杂。 导致接口性能问题的原因多种多样&#xff0c;不同项目的不同接口&#xff0c;其原因可能各不相同。 下面列举几种常…

ULTRAINTERACT 数据集与 EURUS 模型:推动开源大型语言模型在推理领域的新进展

在人工智能的浪潮中&#xff0c;大型语言模型&#xff08;LLMs&#xff09;已经成为推动自然语言处理技术发展的关键力量。它们在理解、生成语言以及执行复杂任务方面展现出了巨大的潜力。然而&#xff0c;尽管在特定领域内取得了显著进展&#xff0c;现有的开源LLMs在处理多样…

9,DMA可以获取光照烟雾值

ADC多通道问题需要用到DMA,与ADC相比&#xff0c;省去了获取AD转换数值(转换后数据存储在数据寄存器中&#xff0c;需要把数据拿出来)的步骤 DMA:数据传输高速通道 DMA概述&#xff1a;直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无…

SparkOnHive_列转行、行转列生产操作(透视和逆透视)

前言 行专列&#xff0c;列转行是数开不可避免的一步&#xff0c;尤其是在最初接触Hive的时候&#xff0c;看到什么炸裂函数&#xff0c;各种udf&#xff0c;有点发憷&#xff0c;无从下手&#xff0c;时常产生这t怎么搞&#xff0c;我不会啊&#xff1f; 好吧&#xff…

基于Openmv的色块识别代码及注意事项

在给出代码之前我先说注意事项以及需要用到的函数 1、白平衡和自动增益的关闭 打开白平衡和自动增益会影响颜色识别的效果&#xff0c;具体影响体现在可能使你颜色阈值发生改变 关闭代码如下 sensor.set_auto_gain(False) #关闭自动增益 sensor.set_whitebal(False) …

Linux动态网站架构(部署开发php代码)

动态网站架构&#xff08;部署开发php代码&#xff09; 测试能否直接部署nginx需要什么服务&#xff0c;及原理准备并进行开发测试部署代码 概述 静态网站&#xff1a;图片仅仅包含&#xff1a;html&#xff0c;css样式js脚本&#xff0c;图片及视频&#xff1b;nginx直接处…

国产测温速度快且功耗低的温度传感芯片MY18E20可Pin-Pin替换DS18B20

MY18E20是一款国产高精度可编程的数字模拟混合信号温度传感芯片&#xff1b;感温原理基于CMOS半导体PN节温度与带隙电压的特性关系&#xff0c;经过小信号放大、模数转换、数字校准补偿后&#xff0c;数字总线输出&#xff0c;具有精度高、一致性好、测温快、功耗低、可编程配置…