欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > MATLAB小试牛刀系列(3)

MATLAB小试牛刀系列(3)

2025/5/1 22:03:19 来源:https://blog.csdn.net/xyhxx99499/article/details/147626261  浏览:    关键词:MATLAB小试牛刀系列(3)

计算 6 个产地到 8 个销地的最小费用运输问题。单位商品运价如表所示。

单位商品运价表

产地 \ 销地

\(B_1\)

\(B_2\)

\(B_3\)

\(B_4\)

\(B_5\)

\(B_6\)

\(B_7\)

\(B_8\)

产量

\(A_1\)

6

2

6

7

4

2

5

9

60

\(A_2\)

4

9

5

3

8

5

8

2

55

\(A_3\)

5

2

1

9

7

4

3

3

51

\(A_4\)

7

6

7

3

9

2

7

1

43

\(A_5\)

2

3

9

5

7

2

6

5

41

\(A_6\)

5

5

2

2

8

1

4

3

52

需求量

35

37

22

32

41

32

43

38

解 这是一个运输问题,总的产量大于总的需求量,是满足供应的运输问题。

设\x_{ij}(i = 1,2,\cdots,6;j = 1,2,\cdots,8)\表示产地\(A_i\)运到销地\(B_j\)的量,\(c_{ij}\)表示产地\(A_i\)到销地\(B_j\)的单位运价,\(d_j\)表示销地\(B_j\)的需求量,\(e_i\)表示产地\(A_i\)的产量。

目标函数是使总的运费最小化,即

\min\sum_{i = 1}^{6}\sum_{j = 1}^{8}c_{ij}x_{ij}\

约束条件分为两类。

(1) 需求量约束,\(B_j\)销地的需求量等于所有产地运到\(B_j\)销地的运量和,即

\sum_{i = 1}^{6}x_{ij}=d_j, \quad j = 1,2,\cdots,8.\

(2) 产量约束,\(A_i\)产地运到所有销地的运量和少于等于该地的产量,即

\sum_{j = 1}^{8}x_{ij}\leq e_i, \quad i = 1,2,\cdots,6.\

综上所述,建立如下线性规划模型:

开始手搓

C = reshape(cij, 1, []);
intcon = 1: length(C);
A = [];
for i = 1: 6A_single = zeros(1, length(C));A_single((i - 1) * 8 + 1: 8 * i) = 1;A = [A; A_single];
end
b = [60; 55; 51; 43; 41; 52];
Aeq = [];
for i = 1: 8Aeq_single = zeros(1, length(C));for j = 1: 6Aeq_single(8 * (j - 1) + i) = 1;endAeq = [Aeq; Aeq_single];
end
beq = [35; 37; 22; 32; 41; 32; 43; 38];
lb = zeros(1, length(C));
[x, y] = intlinprog(C, intcon, A, b, Aeq, beq, lb, []);
solution = reshape(x, 6, 8);
disp("运输方案:")
disp(solution);
disp("总费用:");
disp(y);

看下答案:

Over!

题目来源:《数学建模算法与应用》——司守奎

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词