Re: [問題] Gurobi無法允許負值

看板Programming作者 (かつて交わした約束)時間7年前 (2017/05/07 17:24), 7年前編輯推噓2(206)
留言8則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《st880517 ()》之銘言: : 他會顯示:Q Matrix is not Postive Semi-definitive (PSD) 這一行錯誤訊息是元兇↑ 一般來說這種二次規劃的函式庫只會支援正定矩陣的規劃問題 這是因為非正定矩陣的規劃問題是 NP-hard 也就是基本上沒有很好的演算法能做得出來 (這比 NP-Complete 還慘喔, NP-hard 是你連給你一個解你都很難確定那個解對不對) 那麼你就必須要對你的規劃問題的數學型式有所了解 是否你的問題的某個條件能夠加以改變以將矩陣變成正定 而這需要你對線性代數有些基本的了解才行 (就連「正定矩陣」這個詞也是從線性代數來的, 所以你就連要了解錯誤在什麼地方也需要有線性代數的知識) 你現在是因為加入了某個條件後發生問題 那可能可以往那個條件本身或與其相關的一些條件做調整 但這都需要一點線性代數的底子, 不是隨隨便便亂調就有用的 -- 將很小又單純的命令《Code》組合成函數《Function》。函數累積成更大更方便的元件《 Parts》,成為程式《App》。接著進行動態結合,相互通訊,打造出服務《Service》。 李奧納多知道,要得到結果,就必須持續進行非常單純的作業。為了展現出匹敵巨大建築 的技術,現在非得將面前的碎片組合起來。 知道這條路多麼遙遠的人,叫做極客《Geek》將這份尊貴具體呈現的人,叫做駭客《Hacker》。 --記錄的地平線 Vol.9 p.299 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.29.238 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1494149080.A.BEC.html

05/07 18:21, , 1F
感謝大師解惑,本身研究的問題是屬於NP-
05/07 18:21, 1F

05/07 18:21, , 2F
Hard...目前是有想過很多方式改變限制
05/07 18:21, 2F

05/07 18:21, , 3F
式,但都Unfeasible..
05/07 18:21, 3F

05/07 18:44, , 4F
不過照您這樣說,Gurobi是無法解Np -Har
05/07 18:44, 4F

05/07 18:44, , 5F
d問題囉?
05/07 18:44, 5F
我想你可能還沒理解 NP-hard 多嚴重 以應用的角度來看, NP-Complete 和 NP-hard 代表現在沒人能給你一個能用的程式解決 也就是說, 雖然我自己沒有深入研究, 但應該是可以說不只這一套 現在世上應該沒有哪一套函式庫能解決這個問題 如果你的 QP 只有限定特定狀況的話我會覺得往改變規劃條件的方向去試會比較有機會 或許當你把你的原問題做一些變化之後是可以變成正定矩陣的 QP 的 如果硬要正面突破的話, 方法只剩下把所有變數的所有狀況都算出來再來比較誰最好了 如果你願意花這個 (很容易就指數成長的) 時間是可以寫一支程式來幫你試就是了啦... ※ 編輯: LPH66 (180.177.29.238), 05/07/2017 20:36:36

05/12 13:56, , 6F
我還記得演算法課本有說到類似
05/12 13:56, 6F

05/12 13:56, , 7F
如果遇到NP 問題,不要試著去解它
05/12 13:56, 7F

05/12 13:56, , 8F
試試Approximate 解,或者跳過這個問題
05/12 13:56, 8F
文章代碼(AID): #1P3kVOli (Programming)
文章代碼(AID): #1P3kVOli (Programming)