草庐IT

2021年数学建模国赛C题思路

yasNing 2023-04-15 原文

2021年高教社杯数学建模竞赛C题思路

小编曾获得建模国二,虽然今年没能获得国奖,但是想把自己的思路分享给各位建模友友

一、问题重述

1.1 问题背景
在工业生产上,生产企业的原材料订购和运输问题非常重要,制约着企业的经济效益和生产能力。这类问题往往表现为企业与供应商、转运商之间的关系,如何制定合理的原材料订购方案和运输方案显得尤为重要。
现有以企业,其原材料种类总体可分为A,B,C三种类型。该企业每年按48周安排生产,需要提前制定24周的原材料订购和转运计划,并确定转运商。
该企业每周的产能为2.82万立方米,每立方米产品会消耗不同体积的A类原材料或B类原材料或C类原材料。由于原材料的特殊性,供应商不能保证严格按订货量供货,实际供货量可能多于或少于订货量。为了保证正常生产的需要,该企业要尽可能保持不少于满足两周生产需求的原材料库存量,为此该企业对供应商实际提供的原材料总是全部收购。
在实际转运过程中,原材料会有一定的损耗,每家转运商每周的运输能力为6000立方米。通常情况下,一家供应商每周供应的原材料尽量由一家转运商运输。题目中还指出A类和B类原材料的采购单价分别比C类原材料高20%和10%。三类原材料运输和储存的单位费用相同。
同时,还给出了供应商的供货数据、企业的订货数据和转运商的相关数据。
1.2 需要解决的问题
(1)根据数据探究供应商的供货特征,并建立反映保障企业生产重要性的数学模型,在此基础上确定50家最重要的供应商。
(2)参考问题1,为企业应选择最少的供应商供应原材料,以满足生产的需求。针对这些供应商,为该企业制定未来24周每周最经济的原材料订购方案,并据此制定损耗最少的转运方案,并分析订购方案和转运方案的实施效果。
(3)在尽量多地采购A类和尽量少地采购C类原材料的情况下,减少转运及仓储的成本,同时希望转运商的转运损耗率尽量少。要求给出新的订购方案及转运方案,并分析方案的实施效果。
(4)要求我们根据现有原材料的供应商和转运商的实际情况,探究对企业每周的产能可以提高多少,并给出此时的订购和转运方案;

二、问题分析

2.1 问题一的分析
问题一主要围绕“供货特征”和“供应商重要性”展开,对于供货特征,我们应该查阅相关资料,确定其概念,然后结合数据本身,合理选择能够量化的指标,得到供货特征。针对供应商的重要性,我们应该考虑利用供货特征对其进行量化,那么关键在于分析两者之间的关联性,如果确实存在关联性。那么就可以通过相关算法确定各个指标的权重,对供应商的重要性进行量化,并以“降本增效”为宗旨,建立起反映保证企业生产重要性的数学模型。
2.2 问题二的分析
问题二要求首先依据“满足生产要求”为目标,对供应商进行再选择,我们应该确定一种符合生产要求的宗旨,然后利用该宗旨对供应商进行筛选。针对订购方案和转运方案,要求是分别进行优化,目标为最经济和损耗最小,那么我们应该首先把经济效益模型和损耗模型建立与量化。分析发现,订购方案和转运方案均为NP难问题,所以考虑嵌入智能算法对上述两个模型进行优化,最后给出最优值和相应的订购方案和转运方案。
2.3 问题三的分析
问题三与问题二的不同在于,移除了供应商数量限制,但要求对成本和损耗进行同时优化,另外还要求我们尽可能多的用原材料A,尽可能少的使用原材料C,并给出相应的订购方案和转运方案。分析发现,问题三还是一个优化问题,只是优化目标有两个,在方案上也做出了限制。我们应该先定制出订购方案的初始化方法,再生成转运方案,然后结合模拟退火算法对问题进行优化。
2.4 问题四的分析
问题四要求我们确定该企业每周产能的提升情况。首先,我们应该明确这个产能提升的概念:到底是企业自身实力反应的固定产能,还是具体方案中每周提升的产能之和。然后结合之前的分析,在确定优化目标和限制条件的情况下,对企业每周的产能进行优化,得到企业每周的最优产能。

好了今天的分享就到这儿了,赛题详细思路也正在更新中哦

有关2021年数学建模国赛C题思路的更多相关文章

  1. ruby-on-rails - 建模收藏夹 - 2

    我希望将Favorite模型添加到我的User和Link模型。业务逻辑用户可以有多个链接(即可以添加多个链接)用户可以收藏多个链接(他们自己的或其他用户的)一个链接可以被多个用户收藏,但只有一个所有者我对如何为这种关联建模以及在模型就位后如何创建用户收藏夹感到困惑?classUser 最佳答案 下面的数据模型怎么样:classUser:destroyhas_many:favorite_links,:through=>:favorites,:source=>:linkendclassLink:destroyhas_many:favor

  2. ruby - 我可以在 Ruby 中动态调用数学运算符吗? - 2

    ruby中有这样的东西吗?send(+,1,2)我想让这段代码看起来不那么冗余ifop=="+"returnarg1+arg2elsifop=="-"returnarg1-arg2elsifop=="*"returnarg1*arg2elsifop=="/"returnarg1/arg2 最佳答案 是的,只需像这样使用send(或者更好的是public_send):arg1.public_send(op,arg2)这是可行的,因为Ruby中的大多数运算符(包括+、-、*、/、andmore)只需调用方法。所以1+2与1.+(2)相同

  3. 建模分析 | 平面2R机器人(二连杆)运动学与动力学建模(附Matlab仿真) - 2

    目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标

  4. ruby |设计数学? - 2

    情况:我正在编写一个程序来求解素数。我需要解决4x^2+y^2=n的问题,其中n是一个已知变量。是的,必须是Ruby。我愿意在这个项目上花费大量时间。我最好自己编写方程式的求解算法,并将其作为该项目的一部分。我真正喜欢的是:如果任何人都可以向我提供指南、网站的链接,或者关于与求解代数方程特别相关的形式算法的构造的歧义消除,或者向我提供似乎你是读者它会帮助我完成任务。请不要建议我使用其他语言。如果您在回答之前接受我真的非常想这样做,我将不胜感激。该项目没有范围或时间限制,也不以营利为目的。这是为了我自己的教育。注意:我并不直接反对为Ruby实现和使用现存的数学库/模块/其他东西,但我更喜

  5. ruby - 我在哪里可以找到 Ruby 中的数学密集型应用程序 - 2

    我发现许多Rails应用程序主要针对企业、社交网络类型的Web应用程序。我看到有人将Ruby与一些出色的OOPS语言(如Java和C#)进行了比较,但我确实发现很难获得一些数学密集型应用程序。非常感谢任何知识渊博的输入(指向示例程序的链接等),其中轻松显示了语言的用法,就像快速启动或显示该语言如何用于各种数学问题一样。 最佳答案 不幸的是,Ruby并没有在数学和科学计算领域涉足太多。目前,有一个名为SciRuby的pre-alpha库它试图为Ruby带来更多面向数学的功能。他们正试图构建一个NumPy/SciPy等价物。SciRub

  6. ruby-on-rails - 如何针对组合字段的唯一性对这种复杂的验证进行建模 - 2

    link有两个组件:componenta_id和componentb_id。为此,在Link模型文件中我有:belongs_to:componenta,class_name:"Component"belongs_to:componentb,class_name:"Component"validates:componenta_id,presence:truevalidates:componentb_id,presence:truevalidates:componenta_id,uniqueness:{scope::componentb_id}validates:componentb_id

  7. 设计一个亿级高并发系统架构 - 12306火车票核心场景DDD领域建模 - 2

    “架设一个亿级高并发系统,是多数程序员、架构师的工作目标。许多的技术从业人员甚至有时会降薪去寻找这样的机会。但并不是所有人都有机会主导,甚至参与这样一个系统。今天我们用12306火车票购票这样一个业务场景来做DDD领域建模。”开篇要实现软件设计、软件开发在一个统一的思想、统一的节奏下进行,就应该有一个轻量级的框架对开发过程与代码编写做一定的约束。虽然DDD是一个软件开发的方法,而不是具体的技术或框架,但拥有一个轻量级的框架仍然是必要的,为了开发一个支持DDD的框架,首先需要理解DDD的基本概念和核心的组件。一.什么是领域驱动设计(DDD)首先要知道DDD是一种开发理念,核心是维护一个反应领域概

  8. ruby-on-rails - Rails 3 中私有(private)消息建模的首选方式 - 2

    我计划在成员之间实现一个私有(private)消息系统。我想知道对此的首选方法是什么。要求是我应该能够像这样轻松地检索它们@user.conversations#ShouldreturnUserobjectsthatIsentorreceivedmessagesfrom(butnotme)@user.conversations.messages#Messagesfromallorspecificuserobjects.@user.conversations.messages.unread#Unreadmessages调用@user.conversations时应该只检索向我发送消息的人

  9. 【华为OD机试真题 java、python、c++】荒地电站建设【2022 Q4 100分】(100%通过+复盘思路) - 2

    代码请进行一定修改后使用,本代码保证100%通过率,本题目提供了java、python、c++三种代码。复盘思路在文章的最后题目描述祖国西北部有一片大片荒地,其中零星的分布着一些湖泊,保护区,矿区;整体上常年光照良好,但是也有一些地区光照不太好。某电力公司希望在这里建设多个光伏电站,生产清洁能源对每平方公里的土地进行了发电评估,其中不能建设的区域发电量为0kw,可以发电的区域根据光照,地形等给出了每平方公里年发电量x千瓦。我们希望能够找到其中集中的矩形区域建设电站,能够获得良好的收益。输入描述第一行输入为调研的地区长,宽,以及准备建设的电站【长宽相等,为正方形】的边长最低要求的发电量之后每行为

  10. 华为OD机试 -旋转骰子(Python) | 机试题算法思路 【2023】 - 2

    最近更新的博客华为OD机试-卡片组成的最大数字(Python)|机试题算法思路华为OD机试-网上商城优惠活动(一)(Python)|机试题算法思路华为OD机试-统计匹配的二元组个数(Python)|机试题算法思路华为OD机试-找到它(Python)|机试题算法思路华为OD机试-九宫格按键输入(Python)|机试算法备考思路华为OD机试-身高排序(Python)|备考思路使用说明参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。华为OD清单查看地址:blog.csdn.net/hihell/catego

随机推荐