当前位置:   article > 正文

运筹学 $3 整数线性规划_c++ 整数线性规划ilp代码

c++ 整数线性规划ilp代码

§2 整数线性规划

整数规划ILP:含有整数约束条件 x i ∈ Z ∗ x_i \in Z^* xiZ

C1 分支定界法

1)分支定界法:隐枚举的一种,枚举过程中发生剪枝

  • 将决策划分为多步,每步含有多个决策分支。
  • 在遍历决策树时,不断更新已知的最优解(下界不断抬升)。
  • 遍历时估计当前分支的最终效益(上界不断下降),若劣于最优解则剪枝

2)应用于整数规划:

  • 通过非整数规划确定一个初始分支

  • 假设当前分支中某变量 x k = a x_k = a xk=a(非整数)

    则产生的两个子分支分别是非整数规划问题添加约束 x k ≤ ⌊ a ⌋ , x k ≥ ⌈ a ⌉ x_k\le \lfloor a\rfloor,x_k\ge \lceil a\rceil xka,xka

  • 分支的决策上界是非整数规划下最优值

  • 分支的决策下界是已知的某个可行整数解的最优值,初始为-M

C2 割平面法

  • 思想:利用割平面切割可行域使得其某个整数顶点是最优解

  • 实现:

    • x i x_i xi是求解非线性规划问题最优解的一个分数基变量,由单纯形表最终表

      x i + ∑ k a i k x k = b i ( x k ∈ X N ) x_i + \sum\limits_k a_{ik}x_k = b_i(x_k\in X_N) xi+kaikxk=bi(xkXN)

    • 分解 b i , a i k b_i,a_{ik} bi,aik为带分数 b i = N i + f i ; a i k = N i k + f i k , f ∈ [ 0 , 1 ) b_i = N_i+f_i;a_{ik} = N_{ik}+f_{ik},f\in[0,1) bi=Ni+f

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/833926
推荐阅读
相关标签
  

闽ICP备14008679号