作者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