航空公司有三个基地A、B、C;航材供应商有两家,供应商A的航材采购价为b1,有g1件,供应商B的航材采购价为b2,有g2件;而从两个家供应商处采购的总航材数量满足其需求量,A机场基地从供应商A处采购e1件航材,从供应商B处采购f1件航材,e1+f1=a1,B机场基地从供应商A处采购e2件航材,从供应商B处采购f2件航材,e2+f2=a2,C机场基地从供应商A处采购e3件航材,从供应商B处采购f3件航材,e3+f3=a3;从供应商A运到基地A需要运费c11,到基地B需要c21,到基地C需要c31,从供应商B运到基地A需要运费c21,到基地B需要c22, 到基地C需要c32;供应商A采购价为b1,供应商A采购价为b2。为参数赋值并用线性规划求花费最小值F,需要matlab编程
时间: 2024-03-13 19:48:20 浏览: 136
飞机运输问题及MATLAB编程.pdf
首先,我们需要定义一些变量:
- x1: 从供应商 A 向基地 A 运输的数量
- x2: 从供应商 A 向基地 B 运输的数量
- x3: 从供应商 A 向基地 C 运输的数量
- y1: 从供应商 B 向基地 A 运输的数量
- y2: 从供应商 B 向基地 B 运输的数量
- y3: 从供应商 B 向基地 C 运输的数量
我们需要最小化的目标函数为:
F = b1 * (e1 + e2 + e3) + b2 * (f1 + f2 + f3) + c11 * x1 + c21 * x2 + c31 * x3 + c21 * y1 + c22 * y2 + c32 * y3
同时,我们还需要满足以下约束条件:
- x1 + x2 + x3 = g1
- y1 + y2 + y3 = g2
- x1 + y1 = a1
- x2 + y2 = a2
- x3 + y3 = a3
- x1, x2, x3, y1, y2, y3 >= 0
将其转化为标准形式,我们可以得到以下的 MATLAB 代码:
```matlab
f = [b1, b1, b1, b2, b2, b2, c11, c21, c31, c21, c22, c32];
A = [1, 1, 1, 0, 0, 0;
0, 0, 0, 1, 1, 1;
1, 0, 0, 1, 0, 0;
0, 1, 0, 0, 1, 0;
0, 0, 1, 0, 0, 1];
b = [g1, g2, a1, a2, a3];
lb = zeros(6, 1);
[x, fval] = linprog(f, [], [], A, b, lb);
```
其中,x 即为最优解,fval 即为最小花费。注意,这里我们假设了供应商必须提供全部的航材需求,因此需要在约束条件中添加对应的限制。如果有其他的需求,需要相应地修改约束条件。
阅读全文