这里学霸多,问个技术问题

l
luckylady666
楼主 (北美华人网)
纵列八组数字,命名 组1,组2。。。组8,横列九组,分别由固定值a(n)乘以非固定值x(n)构成, 横列九组乘积相加得到纵列组的数字,比如: 组1= a1*x1+a2*x2+………+a9*x9 组2= b1*y1+b2*y2+………+b9*y9 . … 组8=h1*m1+h2*m2+………+h9*m9 abcdefgh数值已知都是正数按顺序递增,a1到a9数字递减,b1到b9。。。h1到h9同理,
xyz…m数值未知但都大于等于0且小于等于1(除x1-m1以外,必须全部大于0小于1)纵列x1+y1+z1+…….+m1必须大于等于14%,,第二纵列x2+….+m2大于等于3%,一直到x5+y5+。。+m5大于等于3%,
每个横列的x1+x2+…x9=100%,。。。m1+m2+….m9=100%,现在要找出x(n),y(n),…m(n)共72个数字的最佳组合,使得组1xAA+组2*BB+。。。组8*HH的总和最小。
AA,BB。。。HH都是已知正整数
请问各位学霸,这个算法如何实现?
l
luckylady666
没有人知道怎么做吗
g
gokgs
没有人知道怎么做吗
luckylady666 发表于 2023-04-21 18:47

嗯, 反正我不会。
w
wdmn
典型的线性规划。找个软件把数据扔进去就可以解了
N
Nemesis0412
chat gpt
a
avest
这个问题可以通过线性规划来求解。我们可以将每个数字的取值都视为一个变量,然后建立约束条件和目标函数。 首先,对于每个横列的和都是100%的约束条件,我们可以将它们表示为: x1 + x2 + ... + x9 = 1 y1 + y2 + ... + y9 = 1 ... m1 + m2 + ... + m9 = 1 其次,对于每个纵列的和都必须大于等于一定的比例的约束条件,我们可以表示为: a1x1 + a2x2 + ... + a9x9 + b1y1 + b2y2 + ... + b9y9 + ... + h1m1 + h2m2 + ... + h9m9 >= AA14% a1x1 + a2x2 + ... + a9x9 + b1y1 + b2y2 + ... + b9y9 + ... + h1m1 + h2m2 + ... + h9m9 >= BB3% ... a1x1 + a2x2 + ... + a9x9 + b1y1 + b2y2 + ... + b9y9 + ... + h1m1 + h2m2 + ... + h9m9 >= HH3% 最后,我们需要定义目标函数。由于我们要找到使得组合结果最小的解,我们可以将它表示为: minimize z = (a1x1 + a2x2 + ... + a9x9)AA + (b1y1 + b2y2 + ... + b9y9)BB + ... + (h1m1 + h2m2 + ... + h9*m9)*HH 将所有的约束条件和目标函数放在一起,我们可以得到一个线性规划问题。我们可以使用线性规划库来求解它,例如使用Python的PuLP库。
以上来自于chatgpt
千渔千寻
回复 6楼avest的帖子
学最优化的博士们,不淡定了吧。