最佳化求解器的線性規劃學習案例。
數學規劃求解-線性規劃
我們有提供6個案例講解線性規劃(LP)的概念和應用情境,講解遇到不同問題時,如何分析問題,建模,然後調用最佳化求解器求解,再利用求解器的結果去解決問題。並提供了10+原始碼供參考。
以下會給出兩種代碼參考入口:
本地版:在MindOpt雲上建模求解平台的Notebook中運行,直接本地求解。僅包含Python代碼。
天池C/S版:在天池平台的C/S版MindOpt遠程服務。C/S版本的教程中會有C/C++/Python的代碼,並講解如何在Linux系統中使用命令列指令來下載內容、建立和編輯代碼檔案、編譯和運行程式。用到cloudshell裡的teachme指令查看文檔更方便。
該教程Git倉庫儲存在了Gitee,2023.08.25從code.aliyun遷移,請注意更換線上試啟動並執行地址。
本地運行版(見求解器SDK下載和安裝),與C/S版代碼的主要區別是不需要給伺服器submit和retrieve求解資料,問題建模後直接 .solve
即可。
1. 線性規劃LP的概念講解
線性問題是運籌學中最簡單的一類問題,線性規劃是實際中應用最廣泛的運籌知識。我們都可能用過線性規劃的方法,只是不知道這些就是數學上說的“線性規劃”。
2. 營養調配:如何吃少花錢又營養豐富
營養調配問題的目標是利用最佳化模型來設定每日飲食菜單,在滿足各類營養的需求同時更能最佳化總成本。(內含12個C、C++或Python代碼)
3. 生產調度:Flow Shop 調度最佳化下界估計問題
Flow Shop 是調度領域中的經典模型:給定一組機器和一批工件,要求解的決策是工件之間的先後順序,最佳化的目標為完成所有加工的時間(降低成本)。
5. 魯棒線性迴歸-預測
迴歸是一種建立自變數 x(向量)和相關變數 y(標量)之間關係的預測技術。線性迴歸通常可以用線性函數 y = < a,x > + b 來描述,我們可以估計出 a 和 b 的值。
6. 機器學習:帶有L1正則項的SVM多分類問題
分類是機器學習領域中最基本的任務之一。其目的是建立輸入向量x與分類變數y之間的映射關係。例如把一張張圖片根據其內容分類為“動物”、“植物”等類別。