数学建模 算法与应用 (python实现)第二章 整数规划

本文详细介绍了整数规划,包括整数规划的分类、特点和求解方法,如0-1型线性规划、蒙特卡洛法以及整数线性规划的计算机求解。特别讨论了0-1规划中的固定费用问题和指派问题,并举例说明。还提到了使用Python的蒙特卡洛法进行非线性整数规划的估算,以及匈牙利算法解决指派问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二章 整数规划

整数规划一般指整数线性规划

1. 概述

整数规划的分类

整数线性规划一般可分为两类:

  1. 完全整数规划
  2. 混合整数规划

整数规划的特点

  1. 原线性规划有最优解
    • 原线性规划最优解全是整数,最优解一致
    • 整数规划无可行解
    • 有可行解,但最优解值会变差
  2. 整数规划最优解不能按照师叔最优解简单的取证获得

求解方法分类

  1. 分枝界定法——可求纯或混合整数线性规划。
  2. 割平面法——可求纯或混合整数线性规划。
  3. 隐枚举法——可求“0-1”整数规划。
    • 过滤隐枚举法
    • 分枝隐枚举法
  4. 匈牙利法——解决指派问题(“0-1”规划特殊情形)。
  5. 蒙特卡洛法——求解各种类型规划。

2. 0-1 型线性规划

0-1规划的变量 x j x_j xj仅取值0或1。

相互排斥的约束条件

有两种运输方式可供选择,但只能选一种:
5 x 1 + 4 x 2 ≤ 24  或  7 x 1 + 3 x 2 ≤ 45 (2.1) 5x_1+4x_2\leq 24\ 或\ 7x_1+3x_2\leq 45 \tag{2.1} 5x1+4x224  7x1+3x245(2.1)
为解决问题,引入0-1变量 y y y
y = { 1 , 当采用船运方法时 0 , 当采用车运方法时 (2.2) y= \begin{cases} 1, 当采用船运方法时\\ 0, 当采用车运方法时 \end{cases} \tag{2.2} y={ 1,当采用船运方法时0,当采用车运方法时(2.2)
则上述条件改写为
{ 5 x 1 + 4 x 2 ≤ 24 + y M , 7 x 1 + 3 x 2 ≤ 45 + y M , y = 0 或 1 (2.3) \begin{cases} 5x_1+4x_2\leq 24+yM, \\ 7x_1+3x_2\leq 45+yM, \\ y = 0或1 \end{cases} \tag{2.3} 5x1+4x224+yM,7x1+3x245+yM,y=01(2.3)
其中M为充分大的数。

关于固定费用的问题(Fixed Cost Problem)

在某要求成本最小化的问题中,往往需要投入固定成本,例如,选定的生产方式投资高,由于产量大,因而分配到每件产品的成本就降低,反之初期成本投入低,因而每件产品的生产成本就偏高。

  • j = 1 , 2 , 3 j=1,2,3 j=1,2,3分别表示三种方式:

  • x j x_j xj 表示采用第 j 方式的产量

  • c j c_j cj表示采用第 j j j种方式时每件产品的成本变动

  • k j k_j kj表示第 j j j种方式时的固定成本

暂不考虑其他约束条件,采用各种方式的总成本为:
P j = { k j + c j x j ,  当 x j > 0 时 0 ,  当 x j = 0 时 ,   j = 1 , 2 , 3 (2.4) P_j= \begin{cases} k_j+c_jx_j,\ 当x_j>0时\\ 0, \ 当x_j=0时,\ j=1,2,3 \end{cases} \tag{2.4} Pj={ kj+cjx

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值