作业帮 > 综合 > 作业

运筹学线性规划问题.某物流公司欲从不同的汽车租赁商那里租赁货车,从而组成一支车队.此公司预测未来六个月内货车的需求如下表

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/18 05:57:11
运筹学线性规划问题.
某物流公司欲从不同的汽车租赁商那里租赁货车,从而组成一支车队.此公司预测未来六个月内货车的需求如下表
表:六个月内货车的需求量
一月 二月 三月 四月 五月 六月
430 410 440 390 425 450
在一月初,物流公司有200辆货车,这些货车的租赁期将在二月底结束.
为满足需求,物流公司可以选择三种类型的租赁合同,每个合同都将在每个月1日生效,这些合同为:3个月的租赁合同,每辆车租金总计为1700元;4个月的租赁合同,每辆车的租金总计为2200元;以及5个月的租赁合同,每辆车租金总计为2600元.此公司每个月应签订每种类型的合同各多少份才能满足业务需要,并使总支出最少,且在六月结束时所有车辆租赁期都结束?
我用mathematica编程算的,变量xij表示第i月初租j个月的车的数量:
Clear["Global`*"];
(*data*)
req = {430, 410, 440, 390, 425, 450} - {200, 200, 0, 0, 0, 0};
rent = {1700, 2200, 2600};
(*variance*)
x = Table[
ToExpression["x" ToString[10 i + j]], {i, 1, 4}, {j,
Max[3, i - 1], Min[5, 7 - i]}];
vars = Flatten[x];
(*condition*)
conplus = # >= 0 & /@ vars;
con1 = Table[
Sum[If[i + j >= k + 1 && i = req[[k]], {k, 6}];
cons = Join[conplus, con1];
(*object*)
obj = Sum[Sum[x[[j, i - 2]], {j, 7 - i}] rent[[i - 2]], {i, 3, 5}];
(*solve*)
ans = Minimize[obj, cons, vars, Integers]
结果为:
{1261000, {x13 -> 230, x14 -> 0, x15 -> 0, x23 -> 0, x24 -> 0,
x25 -> 0, x33 -> 0, x34 -> 210, x43 -> 240}}