整数规划

整数规划

概论

定义

数学规划中的变量(部分或全部)限制为整数时,称为整数规划
线性规划模型中变量限制为整数,则称为整数线性规划
目前所流行的求解整数规划的方法往往只适用于整数线性规划。

分类

纯(完全)整数规划 变量全限制为整数
混合整数规划 变量部分限制为整数

特点
  1. 若原线性规划有最优解,自变量限制为整数后,其整数规划解会出现下述三种情况。
    (1). 原线性规划最优解全为整数,则整数规划最优解与线性规划最优解一致。
    (2). 整数规划无可行解。
    (3). 有可行解,但最优值变差。
  2. 整数规划最优解不能按照实数最优解简单取整而获得。
求解方法分类
  1. 分枝定界法
  2. 割平面法
  3. 隐枚举法
    过滤隐枚举法
    分枝隐枚举法
  4. 匈牙利法
  5. 蒙特卡洛法

0-1型整数规划

0-1型整数规划是整数规划中的特殊情形,它的变量 x i x_i xi仅取值0或1,可由下述约束条件
0 ≤ x i ≤ 1 且 x i 为 整 数 0 \leq x_i \leq 1 且x_i为整数 0xi1xi
所代替,与一般整数规划的约束条件形式一致。

蒙特卡洛法(随机取样法)

假如计算量非常大,如采用显枚举试探法,共需计算 1 0 10 10^{10} 1010个点,而应用蒙特卡洛去随机计算 1 0 6 10^6 106个点便可找到满意解。

可信度

假如目标函数落在高值区域的概率为0.01,0.00001,则计算 1 0 6 10^6 106个点后,至少有一个点落在高值区的概率分别为

1 − 0.9 9 1000000 ≈ 0.99 ⋯ 99 ( 100 多 位 ) 1-0.99^{1000000}\approx0.99\cdots99(100多位) 10.9910000000.9999(100)

1 − 0.9999 9 1000000 ≈ 0.999954602 1-0.99999^{1000000}\approx0.999954602 10.9999910000000.999954602

整数规划Matlab求解

matlab命令

[ x , f v a l ] = i n t l i n p r o g ( f , i n t c o n , A , b , A e q , b e q , l b , u b ) [x,fval]=intlinprog(f,intcon,A,b,Aeq,beq,lb,ub) [x,fval]=intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)

matlab数学模型

s . t . { x ( i n t c o n ) 为 整 数 A ⋅ x ≤ b A e q ⋅ x = b e q l b ≤ x ≤ u b s.t. \begin{cases} x(intcon)为整数\\ A\cdot x\leq b\\ Aeq\cdot x =beq\\ lb \leq x \leq ub \end{cases} s.t.x(intcon)AxbAeqx=beqlbxub

式中: f , x , i n t c o n , b , b e q , l b , u b \pmb{f},\pmb{x},intcon,\pmb{b},beq,lb,ub fff,xxx,intcon,bbb,beq,lb,ub为列向量 A , A e q \pmb{A},Aeq AAA,Aeq为矩阵。

缺陷

使用matlab求解数学规划问题有一个缺陷,必须把所有的决策变量化成一维决策变量。多位决策变量化成一维决策变量后约束条件很难写出。而使用Lingo软件求解数学规划问题是不需要做变换的,使用起来相对比较容易。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值