某公路工程施工单位需同时开挖甲、乙两段路堑,甲路堑采用牵引式挖掘机,乙路堑采用液压式挖掘机,运行费用见下表。因为受运土车辆的限制,挖掘土方量不能超过10000 m3/d,为了保证施工进度,要求路堑甲每天的挖土量>=1600 m3,路堑乙每天的挖土量>=3000 m3。该工地有12名机械手可操作两种挖掘机。试问如何分配这12名机械手,才能使每天的运行费用最省? 机具 运行费用(每台) 挖掘能力(每台) 牵引式挖掘机 394元/d 200 m3 / d 液压式挖土机 1110元/d 1000 m3 / d,用lingo和matlab计算
时间: 2023-06-24 10:06:18 浏览: 174
这是一个线性规划问题,我们可以使用 Lingo 或 Matlab 中的线性规划工具箱来求解。
首先,定义决策变量:
$x_1$:牵引式挖掘机使用的台数
$x_2$:液压式挖掘机使用的台数
然后,根据题目要求,我们可以列出目标函数和约束条件:
最小化总运行费用:
$$\min 394x_1 + 1110x_2$$
每天挖土总量不能超过 10000m3:
$$200x_1 + 1000x_2 \leq 10000$$
每天甲路堑的挖土量不能低于 1600m3:
$$200x_1 \geq 1600$$
每天乙路堑的挖土量不能低于 3000m3:
$$1000x_2 \geq 3000$$
机械手数量不能超过 12:
$$x_1 + x_2 \leq 12$$
最终的线性规划模型为:
$$\min 394x_1 + 1110x_2$$
$$\begin{aligned} s.t. \quad 200x_1 + 1000x_2 &\leq 10000 \\ 200x_1 &\geq 1600 \\ 1000x_2 &\geq 3000 \\ x_1 + x_2 &\leq 12 \\ x_1, x_2 &\geq 0 \end{aligned}$$
使用 Lingo 求解:
```
MIN = 394*x1 + 1110*x2;
Subject to {
200*x1 + 1000*x2 <= 10000;
200*x1 >= 1600;
1000*x2 >= 3000;
x1 + x2 <= 12;
}
Generals
x1 x2
End
```
求解结果为 $x_1=8, x_2=4$,总运行费用为 9860 元。
使用 Matlab 求解:
```
f = [394, 1110];
A = [200, 1000; -200, 0; 0, -1000; 1, 1];
b = [10000; -1600; -3000; 12];
lb = [0, 0];
ub = [];
[x, fval] = linprog(f, A, b, [], [], lb, ub);
```
求解结果为 $x_1=8, x_2=4$,总运行费用为 9860 元。
阅读全文