您的位置:首页 > 游戏 > 游戏 > 俄罗斯最新新闻消息_做截图网官网_广东知名seo推广多少钱_如何建立网址

俄罗斯最新新闻消息_做截图网官网_广东知名seo推广多少钱_如何建立网址

2025/1/11 12:44:33 来源:https://blog.csdn.net/Da_un/article/details/143661347  浏览:    关键词:俄罗斯最新新闻消息_做截图网官网_广东知名seo推广多少钱_如何建立网址
俄罗斯最新新闻消息_做截图网官网_广东知名seo推广多少钱_如何建立网址

octive可以用一个比较好的网站使用:

Octave Online

进入正题:

linprog 函数是matlab中求解线性规划问题所常用到的一个函数,它在octave中仍然适用,接下来就从一个具体的线性规划例子中看它是如何运用的。

	在这里补充一下,线性规划是数学规划的一个分支,是研究线性约束条件下线性目标函数的极值问题的数学理论和方法,解决线性规划问题,要标明决策变量,约束条件,目标函数三个要素,从而建立模型解决问题。

例题:
在这里插入图片描述

在这个问题中我们设 xi (i=1,2) 为甲乙两个机床的每日生产量,其中 xi 就是决策变量。

根据题意列出约束条件:
{ 2 x 1 + x 2 ⩽ 10 , x 1 + x 2 ⩽ 8 , x 2 ⩽ 7 , x i ⩾ 0 , ( i = 1 , 2 ) \left\{ \begin{matrix} 2 x_1+x_2\leqslant10 , \\ x_1+x_2\leqslant8, \\ x_2\leqslant7, \\ x_i \geqslant \ 0,(i=1,2) \end{matrix} \right. 2x1+x210,x1+x28,x27,xi 0,i=1,2

此时可以建立数学模型:
m a x z = 4 x 1 + 3 x 2 maxz =4x_1+3x_2 maxz=4x1+3x2
s . t . = { 2 x 1 + x 2 ⩽ 10 , x 1 + x 2 ⩽ 8 , x 2 ⩽ 7 , x i ⩾ 0 , ( i = 1 , 2 ) s.t.= \left\{ \begin{matrix} 2 x_1+x_2\leqslant10 , \\ x_1+x_2\leqslant8, \\ x_2\leqslant7, \\ x_i \geqslant \ 0,(i=1,2) \end{matrix} \right. s.t.= 2x1+x210,x1+x28,x27,xi 0,i=1,2
其中, s . t . s.t. s.t. (subject to) 表示“受约束为”

建立完数学模型后,,就可以用linprog函数进行解答了
linprog的一般形式为:
[ x , f v a l ] = l i n p r o g ( f , a , b , A e q , B e q , l b , u b ) [x,fval] =linprog(f,a,b,Aeq,Beq,lb,ub) [x,fval]=linprog(f,a,b,Aeq,Beq,lb,ub)

对应的数学模型为:

寻找x使得
m i n ( f T x ) min(f^Tx) min(fTx)
s . t . = { a ⋅ x ⩽ b , A e q ⋅ x = B e q , l b ⩽ x ⩽ u b s.t.= \left\{ \begin{matrix} a\cdot x\leqslant b, \\ Aeq \cdot x=Beq, \\ lb\leqslant x\leqslant ub \end{matrix} \right. s.t.= axb,Aeqx=Beq,lbxub
其中x是返回决策向量的取值,fval是返回目标函数的最优值,f为价值向量,a,b是对应线性不等式约束,Aeq和Beq是对应线性等式约束,lb和ub分别对应决策向量的下界向量和上界向量,要注意的是在MATLAB中求解线性规划标准形式为求最小值,所以如果求最大值只需进行变号,变不等式方向即可。

在octave中运用linprog函数时需要先调用,要用pkg load optim来调用。

此时对 f , a , b , A e q , B e q , l b , u b f,a,b,Aeq,Beq,lb,ub f,a,b,Aeq,Beq,lb,ub赋值

根据不等式得
4 x 1 + 3 x 2 4x_1+3x_2 4x1+3x2的最小值,则
f = f= f= [ 4 ; 3 ] \begin{bmatrix} 4;3\\ \end{bmatrix} [4;3]
a = a= a= [ 2 , 1 ; 1 , 1 ; 0 , 1 ] \begin{bmatrix} 2,1;1,1;0,1\\ \end{bmatrix} [2,1;1,1;0,1]
b = b= b= [ 10 , 8 , 7 ] \begin{bmatrix} 10,8,7\\ \end{bmatrix} [10,8,7]

a , b a,b a,b 中一个分号表示一个对应式子

由于此题没有等式限制,则 A e q = B e q = [ ] Aeq=Beq=[ ] Aeq=Beq=[]

l b = [ 0 , 0 ] lb=[0,0] lb=[0,0]
u b = [ 10000 , 10000 ] , ub=[10000,10000], ub=[10000,10000], ub可以根据题意修改,这里是随便的一个数,

最后求的fval是最小值,所以要求反得到最大值

clear
c=[4;3]
b=[10;8;7]
a=[2,1;1,1;0,1]
lb=zeros(2,1)//21列为0
ub=[10000;10000]
[x,FVAL]=linprog(-c,a,b,[ ],[ ],lb,ub)
y=-FVAL

结果加求反为
在这里插入图片描述
在这里插入图片描述
则答案为 x 1 = 2 , x 2 = 6 x_1=2,x_2=6 x1=2,x2=6
最大利润为 − F V A L = 26 -FVAL=26 FVAL=26

版权声明:

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

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