请教高手EXCEL规划求解
excel吧
全部回复
仅看楼主
level 6
要从一堆货物挑出一部分体积和重量都合适的出来装箱,规划求解能同时满足两个条件嗯吗?怎么设置呢?有没有高手?
2025年12月22日 23点12分 1
吧务
level 15
=(实际体积+实际重量)-(目标体积+目标重量)
目标设为上述公式的最小值
2025年12月23日 00点12分 3
如果优先考虑体积可为体积差设置不同权重 =(实际体积-目标体积)*10+实际重量-目标重量, 有限重量同理.
2025年12月23日 00点12分
大哥 这个公式怎么理解?
2025年12月23日 01点12分
@龙游太虚cc 这种实际情况装车比较复杂的,不能完全按体积.重量限制的,还涉及,货物的长宽,横堆竖放,堆叠方式的数量限制的,规划并不能完美求解,你不如简单问问搬运工货装卸工,他们的经验比这个规划求解更有用
2025年12月23日 08点12分
只是讨论理论上的可行性
2025年12月23日 09点12分
吧务
level 15
2025年12月23日 01点12分 4
数据量大点,数量默认都是1呢?
2025年12月23日 02点12分
@龙游太虚cc 我意思是挑出组合成目标值的所有选项
2025年12月23日 02点12分
level 10
楼主,应该先发一个货物的基础数据表,包括,货物名,体积,重量,数量,包装箱的容积,限重,,,,然后大家才有解题思路!文字描述只能是加加减减的!
2025年12月23日 03点12分 5
level 6
例如用规划求解找出图片中体积最接近20立方米,且重量最接近110KG的组合,谢谢。
2025年12月23日 03点12分 6
吧务
level 15
2025年12月23日 05点12分 7
给可变单元格设置不同的初值,可能会得到不同的结.
2025年12月23日 06点12分
@zipall 如果再加一个条件:使用最少数量的货物呢?
2025年12月23日 09点12分
@龙游太虚cc 目标单元格公式后面 +sum(c2:c11) 优先考虑数量可以为这个条件加上更大的权重例如 *10
2025年12月23日 10点12分
A12和B12是用来返回结果不用设置任何东西的吗?怎么我跟着做的C列返回算是0?没用过这个规划求解,能不能详细讲讲?
2025年12月23日 12点12分
level 11
2025年12月23日 06点12分 8
level 5
VBA练习练习。
2025年12月23日 14点12分 9
level 5
假装贴个代码片段,哪有人看代码的。仅发演示GIF图又秒被删。
Randomize
tj = 0
zl = 0
Do
If n > 30000 Then
MsgBox "规化求解结束!"
End
End If
sj = Int((Max - Min + 1) * Rnd) + Min
If Not d.exists(sj) Then
d(sj) = ""
tj = tj + arr(sj, 2)
zl = zl + arr(sj, 3)
End If
If tj > mb_tj Or zl > mb_zl Then
n = n + 1
d.RemoveAll
GoTo 100
ElseIf mb_tj + mb_zl - tj - zl <= yxxc Then
Exit Do
End If
Loop
运行结果如下
2025年12月23日 14点12分 10
@龙游太虚cc 我的目标是:让使用者点下按钮就得到结果。使用者懂不懂,没想去教。
2025年12月25日 00点12分
这是用VBA把规划求解做做出来吗?不懂这个,还是写个公式简单点
2025年12月23日 15点12分
level 8
=LET(a,D1:F11,t,E14:F14,b,DROP(a,1),f,LAMBDA(k,v,LAMBDA(n,IF(n,k,v))),c,REDUCE(VSTACK(f("",t-t)),MAP(TAKE(b,,1),BYROW(DROP(b,,1),LAMBDA(r,LAMBDA(r))),LAMBDA(k,v,f(k,v()))),LAMBDA(a,x,REDUCE(a,a,LAMBDA(a,y,IF(AND((x(0)+y(0))<=t),VSTACK(a,f(VSTACK(y(1),x(1)),y(0)+x(0))),a))))),d,MAP(c,LAMBDA(x,SUM(x(0)))),REDUCE(TAKE(a,1),FILTER(c,d=MAX(d)),LAMBDA(a,x,VSTACK(a,HSTACK(TEXTJOIN("+",,x(1)),x(0))))))
2025年12月24日 03点12分 11
数据量不大的话,可以试试这个,最坏情况只能求20个物品的组合,看实际数据什么样了,如果是一堆比较大的数凑比较小的值,物品数可以稍微多点,如果是一堆小数凑大数,可能就只支持20个物品了
2025年12月24日 03点12分
@娜乌_西卡 这个看起来复杂多了,吧主那个简单
2025年12月24日 12点12分
@龙游太虚cc 觉得哪个简单用哪个就行,条条大路通罗马
2025年12月24日 12点12分
1