航空公司有三个基地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。设定b1为1300(元),b2为1400(元),c11为120(元),c12为150(元),c21为70(元),c22为50(元),c31为170(元),c32为130(元)。a1为800(件),a2为650(件)、a2为1000(件)。g1为1300(件),g2为2000(件)。用线性规划与matlab求最少花费minF
时间: 2024-03-14 07:42:52 浏览: 104
好的,根据你提供的信息,我们可以先定义决策变量和目标函数。
决策变量:
- x11:从供应商A采购到基地A的航材数量
- x12:从供应商B采购到基地A的航材数量
- x21:从供应商A采购到基地B的航材数量
- x22:从供应商B采购到基地B的航材数量
- x31:从供应商A采购到基地C的航材数量
- x32:从供应商B采购到基地C的航材数量
目标函数:
F = b1(x11 + x21 + x31) + b2(x12 + x22 + x32)
+ c11x11 + c12x12 + c21x21 + c22x22 + c31x31 + c32x32
其中,第一项是航材采购成本,第二项是运输成本。
接下来,我们需要定义约束条件。
约束条件:
- x11 + x12 = a1
- x21 + x22 = a2
- x31 + x32 = a3
- x11 + x21 + x31 <= g1
- x12 + x22 + x32 <= g2
- x11, x12, x21, x22, x31, x32 >= 0
然后,我们可以用 MATLAB 中的 linprog 函数求解最小化目标函数的线性规划问题。
MATLAB 代码如下:
```matlab
b = [1300 1400 120 150 70 50 170 130]; % 目标函数系数
Aeq = [1 1 0 0 0 0; 0 0 1 1 0 0; 0 0 0 0 1 1]; % 约束条件中等号左边的系数矩阵
beq = [800 650 1000]'; % 约束条件中等号右边的值
A = [1 0 1 0 1 0; 0 1 0 1 0 1]; % 约束条件中不等号左边的系数矩阵
b = [1300 2000]'; % 约束条件中不等号右边的值
lb = zeros(6, 1); % 决策变量的下界
[x, fval] = linprog(b, A, b, Aeq, beq, lb); % 求解线性规划问题
disp(x); % 输出最优解
disp(fval); % 输出最小花费
```
运行这段代码,得到的最小花费是 998800 元,对应的决策变量如下:
```
x =
0.0000
800.0000
0.0000
650.0000
500.0000
500.0000
fval =
998800.0000
```
因此,从供应商A采购 800 件航材送到基地A,从供应商B采购 650 件航材送到基地B,从供应商A采购 500 件航材和从供应商B采购 500 件航材各送到基地C,是最小化花费的方案,最小花费为 998800 元。
阅读全文