这篇文章主要介绍了python数学建模基础教程,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

🚧 线性规划
声明:
-
采用如下求解方法:
- python cxpy
- matlab
- lingo
-
5.1 求解下列线性规划的解:
m a x z = 8 x 1 − 2 x 2 + 3 x 3 − 4 x 4 − 2 x 5 { x 1 + x 2 + x 3 + x 4 + x 5 ≤ 400 , x 1 + 2 x 2 + 2 x 3 + x 4 + 6 x 5 ≤ 800 , 2 x 1 + x 2 + 6 x 3 ≤ 200 , x 3 + x 4 + 5 x 5 ≤ 200 , 0 ≤ x i ≤ 99 , i = 1 , 2 , 3 , 4 x 5 ≥ 10 max~z=8x_1-2x_2+3x_3-4x_4-2x_5\\ \left\{ \begin{aligned} x_1+x_2+x_3+x_4+x_5\le&400,\\ x_1+2x_2+2x_3+x_4+6x_5&\le800,\\ 2x_1+x_2+6x_3\le200,\\ x_3+x_4+5x_5\le 200,\\ 0\le x_i \le99,~i=1,2,3,4\\ x_5\ge10 \end{aligned} \right. max z=8x1−2x2+3x3−4x4−2x5⎩ ⎨ ⎧x1+x2+x3+x4+x5≤x1+2x2+2x3+x4+6x52x1+x2+6x3≤200,x3+x4+5x5≤200,0≤xi≤99, i=1,2,3,4x5≥10400,≤800,- matlab
c=-[8,-2,3,-1,-2];%价值向量 A=[ones(1,5);1,2,2,1,6;2,1,6,0,0;0,0,1,1,5]; b=[400,800,200,200]'; [x,fval]=linprog(c,A,b,[],[],[zeros(1,4),-10]',[ones(1,4)*99,inf]'); disp('最优解为:');disp(x) disp('最大值为:');disp(-fval) %结果 Optimal solution found. 最优解为: 99.0000 0 0.3333 0 -10.0000 最大值为: 813- python
#导入凸优化库 import cvxpy as cv import numpy as np #构造系数矩阵 A=np.array([[1]*5,[1,2,2,1,6],[2,1,6,0,0],[0,0,1,1,5]]) b=np.array([400,800,200,200]) c=np.array([8,-2,3,-1,-2]) x=cv.Variable(5)#5个决策变量 x等同与列向量 obj=cv.Maximize(c@x)#构造目标函数 con=[A@x<=b,x[0:-1]<=99*np.ones(4),x[4]>=-10,x[0:4]>=0] prob=cv.Problem(obj,con) prob.solve(solver='GLPK_MI') print('可行解=\n') for i in x.value: print(i,'\n') print('最大值:',prob.value) #结果: 可行解= 99.0 -0.0 0.3333333333333333 -0.0 -10.0 最大值: 813.0- lingo
结果: 813
sets: factory/1..5/:x,c; plant/1..4/:k; endsets data: c=8,-2,3,-1,-2; enddata max=@sum(factory(i):x(i)*c(i)); @sum(factory(i):x(i))<400; x(1)+2*x(2)+2*x(3)+x(4)+6*x(5)<800; 2*x(1)+x(2)+6*x(3)<200; x(3)+x(4)+5*x(5)<200; @for(plant(i):@bnd(0,x(i),99)); @free(x(5)); x(5)>-10; X( 1) 99.00000 X( 2) 0.000000 X( 3) 0.3333333 X( 4) 0.000000 X( 5) -10.00000 -
5.2 求5.4节模型三的解
模型三:
m i n s { m a x 1 ≤ i ≤ n { q i x i } } − ( 1 − s ) ∑ i = 0 n ( r i − p i ) x i { ∑ i = 0 n ( 1 + p i ) x i = M , x i ≥ 0 , i = 0 , 1 , 2 , … min~s\big\{\mathop{max}\limits_{1\le i\le n}\{q_ix_i\}\big\}-(1-s)\sum_{i=0}^{n}(r_i-p_i)x_i\\ \left\{ \begin{aligned} &\sum_{i=0}^{n}(1+p_i)x_i=M,\\ &x_i\ge0,

最低0.47元/天 解锁文章
3418

被折叠的 条评论
为什么被折叠?



