数学建模 优化问题——数学规划

这篇具有很好参考价值的文章主要介绍了数学建模 优化问题——数学规划。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、优化问题基本概念

1.1 优化问题

优化问题:在一系列客观或主观限制条件下,寻求使所关注的某个或多个指标达到最大(或最小)的决策

  • 结构设计、资源分配、生产计划、运输方案中经常可见

通常的解决手段:

  • 经验积累、主观判断
  • 做试验、比优劣
  • 建立数学模型,求解最优策略

解决优化问题的数学方法:

  1. 数学规划
  2. 图论

解决优化问题的数学软件:

  • matlab
  • lingo

当决策变量约束条件比较少是可以使用matlab软件,当涉及的决策变量约束条件比较多时可以考虑更为专业的lingo软件

1.2 优化模型的简单分类

优化模型可以根据目标、参数、变量、约束等划分成不同的类别
比较常用的一种划分依据按照决策变量是否连续划分为连续优化离散优化

连续优化

1. 线性规划(LP) :目标和约束均为线性函数
2. 非线性规划(NLP) :目标或约束中存在非线性函数
3. 二次规划(QP) :目标为二次函数、约束为线性(NLP特例)

离散优化

整数规划(IP) : 决策变量(全部或部分)为整数
1. 整数线性规划(ILP)
2. 整数非线性规划(INLP)
3. 纯整数规划(PIP),
4. 混合整数规划(MIP)
5. 一般整数规划,0-1(整数)规划

说明
由于不同类型的优化问题的求解难度和求解方法是有很大差异的,因此在解决我们所面临的问题时,弄清问题的类型是很有必要的。
例如,只能对于连续线性规划或某些特定的二次规划(如凸二次规划)问题,可以比较容易地求到整体最优解,或判断原问题无解;而对于一般的非线性规划和整数规划,当问题的规模比较大时,在可以接受的计算时间内找到整体最优解是非常困难的,因此通常只能求局部最优解。
一般来说,离散优化问题比连续优化问题难以求解,非线性规划问题比线性规划问题难以求解,非光滑优化光滑优化难以求解。

数学建模 优化问题——数学规划

1.3 国赛中的优化问题

2000-2021
• 2000B 钢管订购和运输问题
• 2001B 公交车优化调度
• 2001C 基金使用的最优策略
• 2002B 彩票中的数学
• 2003B 露天矿生产的车辆安排问题
• 2004B 奥运会临时超市网点设计问题
• 2004D 公务员招聘工作中录用方案
• 2005B DVD在线租赁
• 2006B 出版社的资源配置问题
• 2007B 乘公交,看奥运
• 2008B 高等教育学费探讨
• 2009B 眼科病床的合理安排
• 2011B 交巡警服务平台设置与调度
• 2012B 太阳能小屋设计
• 2013B 碎纸片的拼接
• 2014B 创意折叠桌设计
• 2015B “互联网+”时代的出租车资源配置
• 2016B 小区开放对道路通行的影响
• 2017B “拍照赚钱”任务定价
• 2018B 智能RGV的动态调度策略
• 2019B “同心协力”策略研究
• 2020B 穿越沙漠
• 2021C 生产企业原材料的订购与运输

二、数学规划

求解各种优化问题的关键就是找优化问题的三要素的过程即:

  • 决策变量
  • 目标函数
  • 约束条件

2.1 线性规划(LP)

2.1.1 LP问题

例1
数学建模 优化问题——数学规划


数学建模 优化问题——数学规划
最后的模型
数学建模 优化问题——数学规划
matlab求解

% 化成matlab求线性规划的标准形式
f = [-7 -12]'; % 目标函数的系数向量
A=[9 4;4 5;3 10]; % 不等式约束
b=[360 200 300]';
lb=[0 0]';
[x,val]=linprog(f,A,b,[],[],lb)
val=-val

运行结果:
数学建模 优化问题——数学规划
数学建模 优化问题——数学规划

此处也可以使用lindo求解

max 7x1+12x2
st 
	9x1+4x2<=360
	4x1+5x2<=200
	3x1+10x2<=300
	x1>=0
	x2>=0	

结果
数学建模 优化问题——数学规划
对于这样的数学模型,我们一般有如下的名称。特别是价格系数、技术系数
数学建模 优化问题——数学规划

2.1.2 LP模型的表示形式

(1)一般形式
数学建模 优化问题——数学规划
(2)矩阵形式

主要用于在matlab中求解,用matlab求解时需要将涉及到的矩阵全部列出。策变量、约束条件比较少的时候完全可以使用。而当决策变量、约束条件成百上千时,写出其矩阵变得不太现实,这就需要用lingo求解
数学建模 优化问题——数学规划

例如在上个例题中就需要列出以下矩阵
数学建模 优化问题——数学规划

(3)和式形式
这种形式主要适用于lingo中,可以根据和式形式比较容易的编写出相应的程序
数学建模 优化问题——数学规划

2.1.3 求解通用算法

  • 单纯形算法

二维空间线性规划的最优解必然在凸多边形的顶点
三维空间线性规划的最优解必然在凸多边体的顶点

2.1.4 灵敏性分析

意义:现实问题中价格、技术、资源系数可能会变化(发生微小变动),生产方案也会受到影响
给定一个波动范围使得结果还是最优解不变

2.2 整数规划(IP)

整数规划求解整数规划一般为分支定界法或割平面法
线性规划求解一般为单纯形法
非线性规划一般求迭代解梯度下降

整数规划与线性规划建模区别在变量变为整数,其余步骤一样

2.3 0-1规划规划

2.3.1 选址问题

题目:
数学建模 优化问题——数学规划
解决:
数学建模 优化问题——数学规划

代码:

sets:
site/1..7/:x,b,c;
endsets

data:
q=?;
enddata

max=@sum(site(i):c(i)*x(i));
@sum(site(i):b(i)*x(i))<q;
x(1)+x(2)+x(3)<=2;
x(4)+x(5)>=1;
x(6)+x(7)>=1;
!@sum(site(i)|i#le#3:x(i))<=2;
!@sum(site(i)|i#ge#6:x(i))>=1;
@for(site(i):@bin(x(i)));

2.3.2 指派问题

数学建模 优化问题——数学规划

题目:
数学建模 优化问题——数学规划
数学建模 优化问题——数学规划

解决:
数学建模 优化问题——数学规划
数学建模 优化问题——数学规划
数学建模 优化问题——数学规划

代码:

sets:
set1/1..4/:y;
set2/1..4/:z;
set3(set1,set2):c,x;
endsets

min=@sum(set3(i,j):c*x);
@for(set1(i):@sum(set2(j):x(i,j))=1);
@for(set2(j):@sum(set1(i):x(i,j))=1);
@for(set3(i,j):@bin(x(i,j)));

2.3.3 固定费用问题

题目:
数学建模 优化问题——数学规划
数学建模 优化问题——数学规划数学建模 优化问题——数学规划

解决:

数学建模 优化问题——数学规划

代码:

sets:
way/1..3/:x,y;
endsets

min=13*x(1)+12*x(2)+10*x(3)+120*y(1)+150*y(2)+180*y(3);
@sum(way(i):x)=500;
1.5*x(1)+1.7*x(2)+1.8*x(3)<=1500;
1.3*x(1)+1.5*x(2)+1.6*x(3)<=1000;
4*x(1)+4.5*x(2)+1.5*x(3)<=3500;
2.8*x(1)+3.8*x(2)+4.2*x(3)<=2800;
@for(way:0.01*y<=x);
@for(way:x<=1000*y);
@for(way:@bin(y));

2.3.4 0-1变量的其他用处

  • 把相互约束的排斥条件转化为普通的约束条件
  • 表示分段函数

2.4 多目标规划

多目标无法直接求解,需要转化为单目标规划文章来源地址https://www.toymoban.com/news/detail-456382.html

2.4.1解决方法

  • 主要目标法:只保留一个主要目标,将其他的转化为约束条件
  • 线性加权法(前提要保证两者的量纲一致) 将所有目标转 化为同时求最大或是同时求最小 若量纲不一致需消除量纲的影响(映射到01区间)

到了这里,关于数学建模 优化问题——数学规划的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学建模--Lingo求解线性规划问题

    一 问题重述 1.1问题背景 工厂根据外部需求和内部设备,人力,原料等条件,以及最大利润为生产目标制定生产计划,根据生产计划,工艺流程,资源约束及费用参数等,以最小的成本为目标制定生产批量计划,若短时间外部需求和内部资源等不随时间的变化,可制定单阶段

    2024年02月12日
    浏览(44)
  • 【数学建模lingo学习】lingo解决规划问题1:投料问题

    lingo相较于matlab实现规划问题更加简洁,但无法实现多目标规划,如果不了解lingo可以去看以下视频了解: Lingo(1):基础篇——基本界面与解方程_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1CT4y177qS?spm_id_from=333.337.search-card.all.click 那么废话不多说,我在这里分享一道例题及解法

    2024年02月16日
    浏览(47)
  • python数学建模--线性规划问题案例及求解

    本博客参考: 《python数学实验与建模》 《MATLAB数学建模经典案例实战》 m a x   z = 8 x 1 − 2 x 2 + 3 x 3 − x 4 − 2 x 5 { x 1 + x 2 + x 3 + x 4 + x 5 ≤ 400 x 1 + 2 x 2 + 2 x 3 + x 4 + 6 x 5 ≤ 800 2 x 1 + x 2 + 6 x 3 ≤ 200 x 3 + x 4 + 5 5 ≤ 200 0 ≤ x i ≤ 99 , i = 1 , 2 , 3 , 4 x 5 ≥ − 10 max z=8x_1-2x_2+3x_3-x_

    2023年04月13日
    浏览(43)
  • 【数学建模】二次规划求解约束极值问题(Python+Gurobi实现)

    目录 1 概述 2 算例及Python代码实现 2.1 算例 2.2 方法1 2.3 方法1求解结果 2.4 方法2         根据约束条件的不同,二次规划可分为等式约束二次规划问题和不等式约束二次规划问题。等式约束二次规划问题即只含有等式约束,常见的解法有直接消去法、广义消去法、拉格朗日

    2024年02月08日
    浏览(70)
  • 数学建模笔记——整数规划类问题之我见(匈牙利算法)

    目录 浅浅叙述匈牙利算法 基本思路 计算步骤 来一道简单例题 1.1 符号规定 1.2目标函数​编辑       1.3约束条件 ​编辑 1.4代码 题目复述 基本假设 问题分析 符号说明  模型的建立与求解 模型建立思路 模型建立的过程 建立0-1整数规划模型  运用匈牙利方法: 代码实现  

    2023年04月11日
    浏览(50)
  • 国赛 mathorcup数学建模竞赛中的优化问题

    数学建模优化类题目主要是通过数学工具和方法,对现实问题进行建模,并找到最优的解决方案。下面介绍一些常见的分析及解题思路。 1. 确定问题的目标函数和约束条件:首先,需要明确问题的目标,包括最大化或最小化某种指标,如最大利润、最小成本等。同时,还要

    2024年01月21日
    浏览(54)
  • 2023年第三届长三角高校数学建模竞赛】A 题 快递包裹装箱优化问题 详细数学建模过程

    【2023年第三届长三角高校数学建模竞赛】A 题 快递包裹装箱优化问题 20页完整论文及代码 2022 年,中国一年的包裹已经超过 1000 亿件,占据了全球快递事务量的一半以上。近几年,中国每年新增包裹数量相当于美国整个国家一年的包裹数量, 十年前中国还是物流成本最昂贵

    2024年02月06日
    浏览(68)
  • MindOpt APL:一款适合优化问题数学建模的编程语言

    建模语言是一种描述信息或模型的编程语言,在运筹优化领域,一般是指代数建模语言。 比如要写一个线性规划问题的建模和求解,可以采用C、Python、Java等通用编程语言来实现计算机编程(码代码),也可以换采用建模语言。 本文将以阿里达摩院研发的MindOpt建模语言(Min

    2024年01月16日
    浏览(49)
  • 模拟退火算法与遗传算法求解多目标优化问题的算法实现(数学建模)

    模拟退火算法是一种全局优化算法,解决的问题通常是找到一个最小化(或最大化)某个函数的全局最优解。它通过模拟物理退火的过程来搜索解空间,在开始时以一定的温度随机生成初始解,然后一步步降低温度,同时在当前解的周围随机搜索新的解,并根据一定概率接受

    2024年02月02日
    浏览(57)
  • 2023年长三角高校数学建模竞赛A 题 快递包裹装箱优化问题 完整代码和基本思路

    1 题目 2022 年,中国一年的包裹已经超过 1000 亿件,占据了全球快递事务量的一半以上。近几年,中国每年新增包裹数量相当于美国整个国家一年的包裹数量, 十年前中国还是物流成本最昂贵的国家,当前中国已经建立起全世界最强大、最先进的快递物流体系。在包裹的打包

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包