第1章 IBM ILOG CPLEX簡介 1
1.1 發(fā)展歷程 1
1.2 Optimization Studio的安裝 2
1.3 CPLEX Studio IDE操作界面 4
1.3.1 界面組成 5
1.3.2 視圖操作 9
1.4 CPLEX API接口 10
1.4.1 Python調用CPLEX 10
1.4.2 Java調用CPLEX 13
1.4.3 MATLAB調用CPLEX 16
1.4.4 C 調用CPLEX 17
1.5 CPLEX在供應鏈管理中的應用 21
1.5.1 供應鏈管理概述 21
1.5.2 供應鏈管理中的優(yōu)化問題 21
第2章 CPLEX OPL項目操作及示例 24
2.1 在OPL項目窗口中處理項目 24
2.1.1 OPL項目介紹 24
2.1.2 OPL項目管理基本操作 27
2.1.3 OPL項目導入 30
2.2 OPL項目示例 32
2.2.1 示例背景 32
2.2.2 新建項目 32
2.2.3 執(zhí)行運行配置 37
2.2.4 查看解法 38
2.2.5 保存和恢復結果 39
2.2.6 查看輸出選項卡 41
第3章 OPL建模語言 48
3.1 OPL簡介 48
3.1.1 OPL基本介紹 48
3.1.2 OPL和IBM ILOG 腳本語言的區(qū)別 48
3.2 OPL常用符號 49
3.2.1 算術運算符 50
3.2.2 關系運算符 51
3.2.3 邏輯運算符 51
3.2.4 集合運算符 52
3.2.5 其他符號 53
3.3 數(shù)據(jù)類型 55
3.3.1 基本數(shù)據(jù)類型 55
3.3.2 數(shù)據(jù)結構 56
3.4 數(shù)據(jù)源 65
3.4.1 數(shù)據(jù)初始化 65
3.4.2 數(shù)組初始化 67
3.4.3 元組初始化 69
3.4.4 Excel表格輸入/輸出 70
3.5 決策變量聲明 73
3.5.1 決策變量類型 73
3.5.2 決策變量的表達式 75
3.6 目標函數(shù) 76
3.6.1 值函數(shù) 76
3.6.2 小值函數(shù) 76
3.6.3 分段線性函數(shù) 76
3.6.4 分步函數(shù) 77
3.7 約束 78
3.7.1 使用約束 78
3.7.2 約束標簽 80
3.7.3 約束類型 81
3.8 形參 82
3.8.1 基本形參 82
3.8.2 形參元組 83
3.9 OPL語言模塊 84
3.9.1 預處理模塊 84
3.9.2 正在處理模塊 86
3.9.3 后處理模塊 87
3.9.4 流程控制模塊 87
第4章 供應鏈管理典型問題及CPLEX實現(xiàn) 89
4.1 供應鏈運作管理問題 89
4.2 單周期生產問題 90
4.2.1 問題描述 91
4.2.2 模型建立 92
4.2.3 CPLEX程序設計 93
4.3 具有固定費用的單周期生產問題 95
4.3.1 固定費用問題描述 95
4.3.2 模型建立 96
4.3.3 CPLEX程序設計 97
4.4 多周期生產的庫存問題 100
4.4.1 問題描述 100
4.4.2 模型建立 100
4.4.3 CPLEX程序設計 102
第5章 供應鏈網絡布局問題及CPLEX實現(xiàn) 105
5.1 供應鏈網絡布局問題 105
5.1.1 問題描述 105
5.1.2 模型建立 107
5.1.3 CPLEX程序設計 109
5.2 考慮直配模式的供應鏈網絡布局問題 113
5.2.1 問題描述 113
5.2.2 模型建立 113
5.2.3 CPLEX程序設計 115
第6章 生產排程問題及CPLEX實現(xiàn) 120
6.1 生產排程問題概述 120
6.2 簡單的生產排程問題 121
6.2.1 問題描述 121
6.2.2 模型構建 121
6.2.3 CPLEX程序設計 122
6.3 考慮庫存與配送的生產排程問題 125
6.3.1 問題描述 125
6.3.2 模型構建 125
6.3.3 CPLEX程序設計 127
第7章 運輸車輛調度問題及CPLEX實現(xiàn) 131
7.1 車輛調度問題概述 131
7.1.1 車輛調度問題的定義及構成要素 131
7.1.2 車輛調度問題的分類 132
7.1.3 車輛調度問題的求解方法 133
7.2 簡單的車輛調度問題 134
7.2.1 問題描述 134
7.2.2 模型構建 135
7.2.3 CPLEX程序設計 136
7.3 考慮時間窗的車輛調度問題 139
7.3.1 問題背景 139
7.3.2 問題描述 139
7.3.3 模型構建 140
7.3.4 CPLEX程序設計 142
第8章 復雜情景車輛智能調度問題及CPLEX實現(xiàn) 146
8.1 考慮限號的車輛調度問題 146
8.1.1 問題背景 146
8.1.2 問題描述與分析 146
8.1.3 模型構建 147
8.1.4 CPLEX程序設計 148
8.2 考慮充電和時間窗的車輛調度問題 152
8.2.1 問題背景 152
8.2.2 問題描述 152
8.2.3 模型構建 154
8.2.4 CPLEX程序設計 156
附錄A CPLEX基本技術問題 162
附錄B CPELX相關求解過程中的問題 167
參考文獻 172