簡體   English   中英

有沒有一種簡單的方法可以減少 MILP 中正松弛變量的值?

[英]Is there a simple way to reduce the value of positive slack variables in MILP?

最近,我一直在學習優化,我的優化問題(最小化)被編碼在 MILP 求解器中,它告訴我它對於我的 model 是不可行的。因此,我引入了一些正/負松弛變量。 現在,我得到了一個可行的解決方案,但正松弛變量比我能接受的要大得多。 因此,我對這些變量進行了懲罰/加權(乘以大數),希望 MILP 求解器能夠減少變量,但這沒有用(我得到了相同的解決方案)一般來說,有什么方法可以遵循,什么時候松弛太大? 一般來說,有沒有更好的方法來選擇松弛變量?

  1. 將兩者都添加到具有懲罰系數的目標中。
  2. 或者為寬松褲添加一些上限。

對於剛接觸數學規划/優化的人來說,一個常見的陷阱是默認情況下變量是非負的,也就是說,它們總是有一個隱含的下限 0。你的數學 model 可能沒有明確指定這一點,所以這些變量可能需要聲明為免費(下限為 -infinity)。

一般來說,您應該仔細檢查您的 model(作為 LP 文件)並將其與數學公式進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM