
離散優(yōu)化算法培訓
基礎約束編程
這個模塊開始時用例子說明約束編程求解器的基礎技術,也就是約束傳播和搜索。
值域代表了變量可能的取值,而約束可用于在值域上進行推理。
約束本身可以以值域傳播器和邊界傳播器的形式表示。
你將會學習到一個傳播引擎如何處理一組傳播器,并通過變量值域協(xié)調(diào)溝通約束傳播得到的信息。
你也將會學到基礎搜索,變量,數(shù)值選擇等概念,
還有傳播和搜索是如何緊密而高效地連接起來的。后,這個模塊介紹了如何在Minizinc中進行編程化搜索。
高階約束編程
在這個模塊中,你將會看到如何用分支限界搜索求解優(yōu)化問題,
和搜索策略在這些情況下如何變得更為重要。
你將會了解到高階的搜索策略,包括重啟搜索和基于影響(impact-based)的搜索
。這個模塊也會解釋如alldifferent和cumulative全局約束的內(nèi)部實現(xiàn)。
混合整數(shù)線性規(guī)劃
這個模塊從介紹線性規(guī)劃和用于解決連續(xù)線性規(guī)劃優(yōu)化問題的Simplex算法開始,
之后展示了這個方法如何可以和分支限界法配合來解決混合整數(shù)線性規(guī)劃問題。
之后再進一步學習Gomory切割和分支切割法并領略它們?nèi)绾翁岣咔蠼馑俣取?/p>
局部搜索
這個模塊帶你進入局部搜索的神奇領域,它可以高效地探索一些大而復雜的搜索空間。
你將會學到狀態(tài),移動和鄰域的概念,還有它們在受約束的搜索空間中如何被應用在基本貪心搜索和速梯度下降搜索中。
你還將學習不同的方法來逃離或者避免局部小值,包括重啟,模擬退火,禁忌表和離散拉格朗日乘數(shù)法。
后,你將會看到大鄰域搜索把在鄰域中找到優(yōu)相鄰點看作一個離散優(yōu)化問題來解決,并因此使我們探索更遠和更有效地搜索。