国产粉嫩无码不卡在线观看,酒店大战丝袜高跟鞋人妻,特级精品毛片免费观看,欧美亚洲日本国产综合在线

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

首發(fā)于微信公眾號『運籌OR帷幄』

文章作者:湯勤深

責任編輯: 張帆

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

此文簡單介紹AROMA的1.0版本:XProg。希望可以幫做魯棒優(yōu)化相關(guān)的同行們省去手動求對偶和Robust Counterpart,然后吭哧吭哧編程的麻煩。后臺回復(fù)關(guān)鍵詞”XProg“可以獲取XProg軟件下載鏈接,回復(fù)”XProg程序“即可獲取文中出現(xiàn)的全部代碼。

本文將簡單介紹XProg(內(nèi)容主要來自Xprog的用戶手冊)。Julia語言里有為魯棒優(yōu)化開發(fā)的JuMPeR。個人使用體驗是XProg更簡潔,功能更齊全:可以直接編程最新的分布式魯棒優(yōu)化(DRO)的相關(guān)模型,而JuMPeR主要適用于傳統(tǒng)的魯棒優(yōu)化模型,而且似乎現(xiàn)在處于無人維護的狀態(tài)。

Julia入門科普請出門左轉(zhuǎn)到 @覃含章 的文章:Julia:簡單易用的數(shù)值計算/優(yōu)化編程語言

XProg由Dr. Peng Xiong開發(fā),旨在用最簡單直觀的語言進行魯棒優(yōu)化模型的求解。最新版本的AROMA由Prof. Melvyn Sim, Dr. Peng Xiong 和Dr. Zhi Chen開發(fā)。XProg只有Matlab版;AROMA將會增加Python版本。兩者都可通過調(diào)用Gurobi,Cplex, MOSEK等求解器進行求解。

XProg

先上一個多產(chǎn)品的分布式魯棒報童模型的求解,直觀感受一下。

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

其中,模糊集(ambiguity set)

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

為,

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

求解程序如下:

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

對于里面的extended模糊集和extended LDR的概念,請參考

Adaptive Distributionally Robust Optimization

pubsonline.informs.org

由上面的例子可以看出,XProg提供了一種照著原始模型編出來的簡潔高效編程方法。它已經(jīng)把求對偶求robust counterpart等步驟全部內(nèi)嵌到程序里去了。這大大地減少了之前做RO或者DRO的問題的時候,往往得先手動求對偶,然后再用C, C , Java,Matlab等求解的那份酸爽!

以下直接舉例來闡明XProg的用法,具體語法請參閱XProg包里面的“用戶手冊”。以下所舉的例子大都在安裝包中的“examples”。

1、線性規(guī)劃 (Linear Programming)

對于任意的線性規(guī)劃:

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

實現(xiàn)起來特別方便:

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

比如下面這個線性規(guī)劃:

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

只需要在程序開始賦值:

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

解出來結(jié)果如下:

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

2、混合整數(shù)規(guī)劃(Mixed Integer Programming)

對于混合整數(shù)規(guī)劃,只需在定義變量時注明是二進制變量(binary variable)還是整數(shù)變量就可:

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

3、隨機規(guī)劃

XProg 還可以對隨機規(guī)劃問題進行求解。不同場景下的決策可以用cell array實現(xiàn),舉例如下(編者實在太懶。。。問題描述請參考用戶手冊第15頁):

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

求解程序如下:

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

求解結(jié)果如下:

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

4、經(jīng)典魯棒優(yōu)化模型求解

舉例多階段庫存優(yōu)化模型(問題描述請參考用戶手冊22頁):

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

實現(xiàn)程序如下:

學(xué)界丨XPROG:簡單實用的魯棒優(yōu)化RO, DRO編程語言(魯棒優(yōu)化方法)

5、分布式魯棒優(yōu)化模型求解

詳見文首的例子。

鑒于XProg很快就要被功能強大N多的AROMA取代,本文特別精簡地介紹了XProg這個簡單實用的魯棒優(yōu)化(RO, DRO)編程語言。AROMA進一步對XProg進行了精簡,但是功能卻更加強大了。等AROMA正式上線之后,再寫一篇詳細的入門介紹文章。

參考文獻:

D. Bertsimas and M. Sim. 2004. Price of Robustness. Operations Research, 52(1), 35-53.

W. Wiesemann, D. Kuhn, M. Sim. 2014. Distributionally Robust Convex Optimization. Operations Research, 62(6), 1358-1376.

D. Bertsimas, M. Sim and M. Zhang 2017. A Practically Efficient Approach for Solving Adaptive Distributionally Robust Linear Optimization Problems. Forthcoming in Management Science.

在微信公眾號后臺回復(fù)“XProg” 可以獲得本文所有代碼和XProg軟件包的下載鏈接。


原文鏈接:https://mp.weixin.qq.com/s/q0x9pXz7p7OciWqBOIV5JQ

版權(quán)說明:本文由『運籌OR帷幄』編譯整理,不作為商業(yè)用途,如有內(nèi)容侵權(quán),我們將隨時刪除。

歡迎查看原文,獲取更多訊息!

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。