from mip import Model, xsum, minimize, INTEGER
import numpy as np
def optModel(a, b, c):
model = Model("transportation")
x = [[model.add_var(var_type=INTEGER) for j in range(len(b))] for i in range(len(a))]
model.objective = minimize(xsum(x[i][j] * c[i][j] for i in range(len(a)) for j in range(len(b))))
for i in range(len(a)):
model += xsum(x[i][j] for j in range(len(b))) == a[i]
for j in range(len(b)):
model += xsum(x[i][j] for i in range(len(a))) == b[j]
model.verbose = 0
model.optimize()
resultLis = []
lis = []
for i in range(len(a)):
for j in range(len(b)):
lis.append(x[i][j].x)
resultLis.append(lis)
lis = []
print("最佳运输方案:", np.array(resultLis))
print("最小运费:", model.objective_value)
if __name__ == '__main__':
a = [10000,30000,40000,20000,20000]
b = [390.52,374.86,1919.24,491.1,2540.49,1931.21,1415.17,1898.14,1251.56,1057.13,1172.42,3301.94,961.91,426.39,317.99,14487.13,3448.64,3391.99,708.71,4470.81,525.65,487.03,4697.25,4394.71,693.88,1612.73,4487.55,4293.23,707.78,5013.12,2818.43]
c = [[28999.27 ,42675.62 ,17705.61 ,26034.54 ,34534.34 ,11277.26 ,0.00 ,10223.61 ,7547.73 ,40021.49 ,31278.56 ,66764.17 ,23232.56 ,16847.05 ,61869.30 ,32253.24 ,21747.99 ,55748.58 ,44413.23 ,38746.78 ,36771.30 ,38760.08 ,37753.33 ,28514.16 ,35540.69 ,21339.53 ,44453.92 ,41236.95 ,66337.92 ,14362.84 ,32133.80],
[3296.60 ,16521.00 ,25775.19 ,14662.96 ,31870.54 ,24681.54 ,32253.24 ,29221.48 ,34432.35 ,16832.44 ,11946.75 ,36024.38 ,9884.03 ,15677.94 ,30957.27 ,0.00 ,10786.04 ,24905.51 ,24876.08 ,28942.67 ,35970.43 ,11067.14 ,18244.54 ,20961.11 ,6295.39 ,30466.46 ,17269.59 ,57904.31 ,65929.40 ,38453.78 ,5714.23],
[34270.33 ,29177.77 ,19555.54 ,44731.57 ,4100.79 ,40766.51 ,36771.30 ,26550.03 ,44059.13 ,25335.88 ,24256.20 ,50868.77 ,29821.04 ,30563.13 ,47670.49 ,35970.43 ,34971.80 ,43223.12 ,21524.83 ,10224.10 ,0.00 ,30600.12 ,21433.66 ,15177.04 ,42261.15 ,15502.01 ,30979.31 ,27342.00 ,31613.52 ,27729.29 ,40984.72],
[12571.94 ,5453.95 ,27147.81 ,25654.06 ,26677.03 ,33497.22 ,38760.08 ,32988.06 ,42519.39 ,6590.88 ,8609.85 ,28042.10 ,15856.19 ,22164.96 ,23238.34 ,11067.14 ,19746.02 ,17196.40 ,14641.70 ,21607.73 ,30600.12 ,0.00 ,9561.40 ,17720.29 ,15525.72 ,30257.13 ,6401.76 ,55826.66 ,57990.85 ,41278.38 ,16495.22 ],
[33985.42 ,36520.23 ,11840.06 ,40530.20 ,14662.61 ,31897.90 ,24861.54 ,15230.76 ,32409.21 ,32634.04 ,27400.73 ,60776.81 ,27750.32 ,25302.21 ,56822.43 ,36694.10 ,31342.59 ,51490.57 ,32113.24 ,21814.88 ,14619.27 ,35734.49 ,28781.09 ,18105.75 ,42627.92 ,6342.22 ,38545.50 ,21300.01 ,41527.98 ,13405.50 ,40301.08 ]]
optModel(a,b,c)
错误
最后一行错误,就没有了,下面少了什么
是什么信息输出?
在第一部分提到,salt、sign、lts、bv是用作反爬的变量,怎么看出来的呢?这个就需要经验了,我们发送给服务器三个数据:url,data,head。url肯定不涉及,head是一些格式类的、客户端标识类的,而data中这四个之外的数据都能猜出是什么意思,只有这四个里面是一串数据加字母,而且你在有道翻译更改翻译内容翻译,你会发现,这四个中的三个,它们的值是在变化的,其他的内容不变。以此就确定下来了。