使用MATLAB软件解决下列问题:
某车间生产A和B两种产品.为了生产A和B,所需的原料分别为2个和3个,而所需要的工时分别为4个和2个单位,现在可以应用的原料为100个单位,工时为120个单位,每生产一台...
某车间生产A和B两种产品.为了生产A和B,所需的原料分别为2个和3个,而所需要的工时分别为4个和2个单位,现在可以应用的原料为100个单位,工时为120个单位,每生产一台A和B分别可获得利润6元和4元,应当安排生产A,B各多少台,才能获得最大的利润?
展开
2个回答
展开全部
你的问题可以表示为以下整数规划问题:
设A、B两种产品分别生产x1,x2件即求整数规划问题
2x1+3x2<=100
4x1+2x2<=120
x1,x2>=0
x1,x2是整数
求函数f(x1,x2)=-6x1-4x2的最小值
一般整数规划需要使用分支定界法来求解,分支定界法的第一步通常是忽略x1、x2必须为整数的条件,去求解上述线性规划问题。但是我在matlab里求出来最小值x1,x2正好是整数。所以,后面分支定界的一大串步骤就不需要了。但是推荐你还是查一下算法步骤,或者网上也能找到分支定界算法的matlab代码。以下是在matlab中求解问题的步骤:
A=[2 3;4 2] %A是不等式组的系数矩阵
B=[100;120]%B是不等式组的常数项组成的向量
xmin=[0;0]
xmax=[inf;inf] %x1、x2的取值范围
f=[-6;-4]%目标函数,加负号求最小值,即原题目中的最大值
[x,fmin,flag]=linprog(f,A,B,[],[],xmin,xmax,x0) %使用linprog求解
x=[20 20] fmin=-200
设A、B两种产品分别生产x1,x2件即求整数规划问题
2x1+3x2<=100
4x1+2x2<=120
x1,x2>=0
x1,x2是整数
求函数f(x1,x2)=-6x1-4x2的最小值
一般整数规划需要使用分支定界法来求解,分支定界法的第一步通常是忽略x1、x2必须为整数的条件,去求解上述线性规划问题。但是我在matlab里求出来最小值x1,x2正好是整数。所以,后面分支定界的一大串步骤就不需要了。但是推荐你还是查一下算法步骤,或者网上也能找到分支定界算法的matlab代码。以下是在matlab中求解问题的步骤:
A=[2 3;4 2] %A是不等式组的系数矩阵
B=[100;120]%B是不等式组的常数项组成的向量
xmin=[0;0]
xmax=[inf;inf] %x1、x2的取值范围
f=[-6;-4]%目标函数,加负号求最小值,即原题目中的最大值
[x,fmin,flag]=linprog(f,A,B,[],[],xmin,xmax,x0) %使用linprog求解
x=[20 20] fmin=-200
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询