作者geoct (正義?我只看到私慾)
看板Mabinogi
標題Re: [心得] 有效運用手上的杜卡特
時間Fri Nov 25 20:38:12 2011
前提. 資金充足 選擇最適當的商品組合達到利潤最大化
假設運輸種類之可放位置個數為 A 負重量為 B
假設要買商品數量
x1 x2 x3 x4 x5
假設重量
w1 w2 w3 w4 w5
假設堆疊數
n1 n2 n3 n4 n5
假設商品利潤/個
s1 s2 s3 s4 s5
限制式
x1*w1 + x2*w2 + x3*w3 + x4*w4 + x5*w5 <= B
ROUNDUP(x1/n1,0) + ROUNDUP(x2/n2,0) + ROUNDUP(x3/n3,0) + ROUNDUP(x4/n5,0)
+ ROUNDUP(x5/n5,0) <= A
x1 >= 0
x2 >= 0
x3 >= 0
x4 >= 0
x5 >= 0
目標
x1*s1 + x2*s2 + x3*s3 + x4*s4 + x5*s5 = MAX
========
大概是這樣@@
如果真的很閒要算這個東西
請打開Excel 增益集 規劃求解增益集
然後差不多照著key進去 讓他跑一下最佳化就可以了
有錯也請通知我一下 乾下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.240.169.101
1F:→ scarbywind:貿易等級5以後就不用考慮這麼多了XD 11/25 20:46
2F:推 AFROGUNSO:居然用5個,這也太猛了吧 11/25 21:10
3F:→ geoct:反正是電腦在算 又不是我在算.... 11/25 21:10
4F:→ geoct:而且其實幾乎所有地區 都是單項買到滿就是賺最多...= =a 11/25 21:12
5F:→ geoct:不過這也和我現在沒換大象有關系 換了應該會有差@@? 11/25 21:13
6F:→ AFROGUNSO:沒錯,這算法適用於資金或負重量的取平衡 11/25 21:21
7F:→ AFROGUNSO:當平衡失去太多就沒有計算的意義了 11/25 21:22
8F:→ geoct:簡單的說 在大象之前 就是看起來最賺的買到滿就對了 11/25 21:25
9F:→ AFROGUNSO:前提是有夠多的錢把最賺得買滿 11/25 21:45
10F:推 nosql:我把excel key好惹,可是規劃求解工具不會動XDDDDDD 11/25 21:58
11F:推 nosql:剛剛用過,規劃出來的不是最佳解,因為他沒辦法搜尋 11/25 22:43
12F:→ geoct:搜尋@@? 11/25 23:09
13F:推 nosql:我後來把表又重弄一下,少部分狀況可以計算。 11/26 00:55
14F:→ nosql:他在找解的時候,因為是數值下去解,會遇到initial value的 11/26 00:55
15F:→ nosql:設定問題 11/26 00:55
16F:→ nosql:initial value設定不好,他會掉入local maxima,解就會不好 11/26 00:56
17F:→ nosql:我論文就是數值相關的,心有戚戚焉Orz 11/26 00:56
18F:推 AFROGUNSO:專業!
這個問題我也有遇到過
也試著幾種方案去嘗試解決 不過沒有一個很順利的解決法就是
大致上來說試過
減少變數 就是將每種運輸工具的 負重/格數 與商品的 負重/格數 做比較
然後取出大於與小於情況下 其單格獲利最高的各一項來做最佳化
在單格獲利最高與次高相差較多的情況 用這個合理縮減變數是可行的
不過還是會遇到局部極值的情況 因為我以前沒做過類似的最佳化
所以我猜想應該與限制條件中使用無條件進位法使得限制函數並非連續有關系
而在一個極端容易陷入局部極值的情況 最直接想到的解決方法 也是最沒有技巧的方法
就是將初值部份設定加上遞迴 然後從中找到各個局部極值中的最大值
當然這不是個好辦法 畢竟遞迴下去所需要的時間會增加許多
而要將遞迴的時間減少 就必需要減少變數數量
或者也可以從限制式下手 思考看能否用一個連續的函數來描述格數的限制
當然在算出局部極值解之後 手動調整一下也很容易可以發現一個最佳解(?)
不過這樣就喪失原意就是
我研究上也是做數值計算相關的 所以有這些看法
不過也因為本身做的與最佳化這塊接觸不多 加上本身對於數值理論並非很有把握
所以有錯誤的想法 也請討論 乾下
※ 編輯: geoct 來自: 111.240.169.101 (11/26 03:47)
19F:推 AFROGUNSO:我已經看不懂了 乾下 11/26 09:08
20F:推 louis1004:用心推一個 雖然看到中後半已經完全霧煞煞 11/26 10:01
21F:→ polo4321:請給我懶人包 感謝 11/26 10:23
22F:推 Qlypig:資金充足..利潤最大化..討厭啊><!!!是經濟學...太專業了 11/26 10:28
23F:推 mdfh:寫的更完整的話可以當做學期報告了 XD 11/26 11:20
26F:→ nosql:有人會想要嗎A_A 11/26 16:10
27F:→ nosql:啊啊想到論文我就吐血。 11/26 16:11
28F:推 AFROGUNSO:太強了,能分享一下嗎? 11/26 16:49
http://www.badongo.com/file/26011649
這我做的@@
線性規劃那邊要自己調整一下對哪些項做最佳化
每項商品的獲利和現有現金也要自己填入
城鎮和運輸工具則是從下拉選單選擇
※ 編輯: geoct 來自: 111.240.169.101 (11/26 17:57)
29F:推 AFROGUNSO:沒辦法讓它自動求最佳數量解嗎,要手動調? 11/26 18:37
30F:→ geoct:可能可以寫個script吧? 不過要找方法 11/26 19:28