昨天講到鋼筋截斷問題方案枚舉,現在将問題擴展一下。如何根據各種條件找出最優切割方案。
目标一、要求餘料最少。利用Excel自帶【數據分析-規劃求解】功能求解。
如下表,複制上表頭至右側,将【M3】中驗證列改為目标列(餘料最少),在【M4】中輸入公式【=I2-SUMPRODUCT(I3:L3,I4:L4)】,即餘料量。
1、首先單擊菜單欄【文件】-最下面【Excel選項】-【自定義功能區】,在右邊【主選項卡】裡勾選【開發工具】(office2013-2016),07、10版好像在【Excel選項】-【常規】裡頭。
3、單擊菜單欄【數據】-【分析】-【規劃求解】,在【設置目标】欄輸入或者選擇【$M$4】單元格(即目标為餘料最少),選擇最小值;在【通過更改可變單元格】欄裡輸入或拖選【$I$4:$L$4】單元格區域(即切割根數是可變的,不确定,應選擇為變量);單擊【添加】,添加【遵守約束】。
條件一:餘料必須大于或等于0,即引用單元格為【$M$4】,選擇>=0,點擊添加。
條件二:切割根數須為整數,即引用變量區域【$I$4:$L$4】,選擇int整數,單擊添加
條件三:切割根數必須>=0,即引用變量區域【$I$4:$L$4】,選擇>=0,确定。
3、确定之後回到【規劃求解參數】對話框,勾選【使無約束變量為非負數】,求解方法選擇【非線性GRG】,單擊【求解】。
等待計算,出現上面對話框,默認按上述選擇,點擊确定。
即最優解為:将30米的鋼筋切割為1根4.4m、2根5.6m和2跟7.2m的鋼筋,餘料為0,然而最優方案并不隻有一種,顯然左邊有4種最優方案。。
目标二:要求餘料最少且至少要求切割2根5.6m的鋼筋。
添加一個約束條件即可。單擊菜單欄【數據】-【分析】-【規劃求解】,單擊【添加】,添加【遵守約束】。添加【$J$4>=2】,确定。然後單擊【求解】。
規劃求解在于方便快捷的計算出符合所有條件的(一個)最優解,操作簡單,其不足之處在于:如果最優解不止一個時,他并不能列出滿足條件的所有解,所以最好上下方法配合使用。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!