数学建模之整数规划

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

一.简介

1 定义

数学规划中,变量部分或全部限制为整数,叫整数规划。

线性规划中,变量全是整数,叫整数线性规划。

2 分类

依据是否变量全为整数,分为完全整数规划和混合整数规划。

依据决策变量要求,分为纯整数,混合整数,全整数以及0-1规划。数学建模整数规划,数学建模小白,动态规划,算法

 注:1)松弛变量和剩余变量——不等式求解没有等式求解方便,那么以x1+x2<=10为例,我们可以引入x3让其转换为等式,即x1+x2+x3=10,只要x3>=0即可,此时x3叫做松弛变量。同理,当x1+x2>=10时,引入x3,x1+x2-x3=10,x3>=0,x3叫剩余变量。

         2)0-1整数规划多适用于流程安排,像工作安排

3 整数规划的特点

 如果原线性规划有最优解,当自变量限制成整数,进行整数规划会出现下述情况:

            1)原线性规划最优解全是整数,整数规划得到的结果和之前一致。

            2)整数规划无可行解。(0.2<x<0.9)

            3)   有可行解,但是最优解值变差

注:整数规划最优解不可以简单的理解成原线性规划最优解取整!

 (四舍五入后可能不满足约束条件)

4 与线性规划的关系

数学建模整数规划,数学建模小白,动态规划,算法

 注:1)整数规划可行解是松弛问题可行域中的整数格点(松弛问题是其他约束条件和整数规划一致但是没有整数约束)

        2)松弛问题没有可行解,则整数规划没有可行解。

        3)整数规划最优值小于或等于松弛问题最优值(约束条件多了,不小不行啊)

5 一般形式

数学建模整数规划,数学建模小白,动态规划,算法

6.引例

6.1

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

 分析:零件毛胚数是最终要得到的该零件的总数。设采用第j种方式加工的圆钢为xj(j=1,2,...n)个,(表上是一个圆钢)则对于A1零件,需要满足B1-Bn种方式对应的x1-xj个圆钢生产的零件要>=毛胚数(生产的得比毛胚多才能做毛胚吧)。还有xj必须都是大于等于零的整数。求的原材料最小指的是x1+...xn最小。

6.2

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

二.应对方法

1.分支定界法——求纯或混合整数线性规划

1.1 步骤

数学建模整数规划,数学建模小白,动态规划,算法

1.2 例题

数学建模整数规划,数学建模小白,动态规划,算法

 x1=3.25, x2=2.5, z=14.75

增加其他约束条件,选x1,向下取整,得到新的约束条件x1<=3,再次计算

x1=3, x2=2.67, z=14.33

还不满足,再对x1增加条件,向上取整,增加条件x1>=4,计算得

x1=4, x2=1,z=14,取到了整数。

如果x1向下取整再增加x2的向下取整或向上取整,会不会有合理的值呢?(就是说求的14是不是最大的?)根据上一节,约束条件越多,最优解越差,所以可以猜到说14应该最大

而对于x1向上取整的时候,因为已经取到了整数,所以就没有后续了~

如果在这种条件下x2还没有整数,则对x2继续进行约束条件,若所有非整数的约束条件都有了,但是最后结果还是没有整数值,说明:害,换个方法吧(狗头)

注意:整数规划的整数是针对决策变量的,z是不是整数没有影响。在第二次时,即使z=14.3而不是14也是取到了整数规划最优解。

 2.割平面法——求纯或混合整数线性规划

2.1基本思想

数学建模整数规划,数学建模小白,动态规划,算法

 2.2 基本步骤

1)求解线性规划最优解,若无整数解

2)将不等式通过松弛变量变成等式

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

注:xk是引入的松弛变量,aik是松弛变量的系数,将aik分成整数部分和小数部分,aik-Laik指的就是小数部分,Laik指的就是aik的整数部分,将小数部分记作fik。

数学建模整数规划,数学建模小白,动态规划,算法

 注:就是原来不等式右边的数值也化成整数部分加小数部分。

 然后将整数部分移到一侧,小数部分移到另一侧。得到:

数学建模整数规划,数学建模小白,动态规划,算法

 注:因为0<fi<1,减去一个值,等于左侧的整数,所以左侧值应该是<=0的整数
 

3.匈牙利算法——0-1问题多用

3.1 互斥约束问题——两个约束条件互斥
3.1.1 引例

数学建模整数规划,数学建模小白,动态规划,算法


 注:第二行是企业的新工序的约束条件,问题是应该采用新工序吗?

分析:因为采取新工序和原工序是相互排斥的,所以是0-1规划。引入新的决策变量y(0,1),一个新的约束M,M取无穷大。这样得到上述两个式子。在y=0时,下式成立,上式无意义(小于等于一个无穷大的数),y=1时,上式成立,下式无意义,符合互斥的概念。

3.1.2理论

数学建模整数规划,数学建模小白,动态规划,算法

 注:q<=p,因为存在互斥的条件,引入决策变量y

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

 注:1)若选择了第i个约束条件,则一式是有意义的不等式,若没有选择,y=1,M无穷大,一式无意义。

         2)yi的和即所有没有选的约束条件的个数,q是所有选了的约束条件,加起来就是p。

3.1.3 例题 

数学建模整数规划,数学建模小白,动态规划,算法

注:选择了生产线才会生产相应的衣服裤子,所以x和y之间存在联系。引入M为无穷大,以x1为例,若y1=0,不租用生产线,则在matlab中,0*无穷为0,即x1=0,则表示没有生产,符合;若y1=1,租用生产线,则这个式子对x1无意义,x1满足s.t中的约束,符合。

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

3.2  指派问题(0-1规划问题应用最广泛的问题)
3.2.1最小类(标准指派问题)—— 一般是成本,时间最小
1)标准形式的数学模型

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

3.2.2 非标准的指派问题
 1)最大化指派(利益最大化)

 2)人数和工作不等

          人少,增加虚拟的人,效率为0

          工作少,增加虚拟的工作,是可以被任何人完成的效率为0的工作

 3)一个人可以做多项工作——就是对其取0,1不做任何要求

 4)某项工作一定不能被某人做——就是他做这件事的代价M取无穷大

3.2.3 指派问题的匈牙利算法

1)例子

数学建模整数规划,数学建模小白,动态规划,算法

分析:

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

  2)知识点

     i)匈牙利算法的适用范围:问题求最小值,人数和工作数相等,效率值非负

     ii)匈牙利算法的来源

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

     iii)匈牙利算法的一般步骤

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

注:不一定是只有一个0元素的开始,是从0最少的行列开始,一般都从行开始。

数学建模整数规划,数学建模小白,动态规划,算法 若此时画圈的零元素个数少于阶数,进行(4),若等于阶数,执行下一步。数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

数学建模整数规划,数学建模小白,动态规划,算法

4.蒙特卡洛法

4.1 简介

蒙特卡洛法是经过大量事件的统计结果来实现一些确定性问题的计算。
使用蒙特卡洛法必须使用计算机生成相关分布的随机数。

4.2 例子

例如:y = x^2 ,y = 12 - x与X轴在第一象限与X轴围成一个曲边三角形。设计一个随机试验,求该图形的近似值。
 

(这里就结束了~^-^~) 文章来源地址https://www.toymoban.com/news/detail-520357.html

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

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

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

相关文章

  • 数学建模-动态规划&遗传算法(美赛运用)

    动态规划模型的要素是对问题解决的抽象,其可分为: 阶段。指对问题进行解决的自然划分。例如:在最短线路问题中,每进行走一步的决策就是一个阶段。 状态。指一个阶段开始时的自然状况。例如:在最短线路问题中,每进行走一步后,对所走的点进行标注。 决策。当

    2024年03月13日
    浏览(38)
  • 数学建模之整数规划

    1 定义 数学规划中,变量部分或全部限制为整数,叫整数规划。 线性规划中,变量全是整数,叫整数线性规划。 2 分类 依据是否变量全为整数,分为完全整数规划和混合整数规划。 依据决策变量要求,分为纯整数,混合整数,全整数以及0-1规划。  注:1)松弛变量和剩余

    2024年02月12日
    浏览(36)
  • 数学建模——整数规划

    目录 基本概念 整数规划模型求解 整数线性规划模型求解 蒙特卡洛求解  遗传算法求解   其他 一部分或全部决策变量必须取整数值的规划问题称为 整数规划 。 纯整数规划:全部决策变量都为整数;混合整数规划:决策变量有一部分是整数值,另一部分不是整数;0-1整数规

    2024年02月07日
    浏览(36)
  • 数学建模(三)整数规划

    视频推荐:B站_数学建模老哥 目录 一、整数规划基本原理 1.1 整数规划的分类 1.2 整数规划的特点 1.3 案例 1.4  整数规划的数学模型一般形式 二、整数线性规划的求解方法 2.1 分枝定界法 2.1.1 分枝定界法的求解过程 2.1.2 案例 2.1.3 代码实现 2.2 割平面法 2.2.1 割平面法的基本思

    2024年02月12日
    浏览(32)
  • 数学建模——整数规划(0-1规划)问题

    题目:现拟将录用的8名公务员安排到所属的7个部门,并且要求每个部门至少安排一名公员。 x招聘领导小组在确定录用名单的过程中,本着公平、公开的原则,同时考虑录用人员的合理分配和使用,有利于发挥个人的特长和能力。招聘领导小组将7个用人单位的基本情况(包

    2023年04月17日
    浏览(30)
  • 二、数学建模之整数规划篇

    1.定义 2.例题 3.使用软件及解题 1.整数规划 (Integer Programming,简称IP):是一种数学优化问题,它是线性规划(Linear Programming,简称LP)的一个扩展形式。在线性规划中,优化目标和约束条件都是线性的,而在整数规划中,除了这些线性约束外,变量还被限制为整数值。在整

    2024年02月11日
    浏览(31)
  • 数学建模整理-线性规划、整数规划、非线性规划

    在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济 效益的问题。若目标函数及约束条件均为线性函数,则称为线性规划(Linear Programming 简记 LP)。 可行解 :满足约束条件的解。 可行预 :所有可行解构成的集合称为问题的可行域,记为R。 图解法

    2024年02月06日
    浏览(30)
  • 数学建模--非整数规划求解的Python实现

    目录 1.算法流程简介 2.算法核心代码 3.算法效果展示

    2024年02月10日
    浏览(24)
  • 【数学建模】混合整数规划MIP(Python+Gurobi代码实现)

    目录 1 概述 2 入门算例 2.1 算例 2.2 求解 ——Pulp库和cvxpy 3 进阶算例 3.1 算例 3.2 Python+Gurobi代码实现 3.3 运行结果 混合整数规划 (MIP) 是 NP-hard 问题中的一类,它的目标是在线性约束下将线性目标最小化,同时使部分或全部变量均为整数值,在容量规划、资源分配与装箱等等现

    2024年02月07日
    浏览(45)
  • 数学建模__动态规划

    动态规划就是,将任务每一步均记录下来,以便将来重复使用时能够直接调用 问题描述:给定n个物品,每个物品的重量是Wi,价值是Vi,但是背包最多能装下capacity重量的物品,问我们如何选择才能利益最大化。 这里涉及到建模过程,本文章主要讲解代码实现,建模过程较为简

    2024年02月07日
    浏览(26)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包