第01章 MATLAB 线性规划
利用现有资源来安排生产,以取得最大经济
效益的问题
这里不再过多解释,普通的画图工具即可完成,这里推荐Geogebra
:
基本函数形式为 linprog(c,A,b),它的返回值是向量 x 的值。还有其它的一些函数调用形式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式),如:
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
这里 fval 返回目标函数的值,LB 和 UB 分别是变量 x 的下界和上界,x0 是 x 的初始值,OPTIONS 是控制参数。
c=[2;3;-5];
a=[-2,5,-1;1,3,1]; b=[-10;12];
aeq=[1,1,1];
beq=7;
x=linprog(-c,a,b,aeq,beq,zeros(3,1)) %第一项取得是min,如果求max可以填个符号,第二、三项取得是<的一边,这样比较容易整,zeros(3,1)构造维度好习惯
value=c.*x %也可以用'*操作符
&也可以这样处理
[x,y] = linprog(-c,a,b,aeq,beq,zeros(3,1)) ; %这样操作取得的是凸点y的负值
x; vaule = -y
.* 和 * 的区别
在进行数与数之间的运算时“.”和“”是没有区别的,都是表示普通的乘法运算。例:m = 2,n = 4,m.n = 8, mn = 8。
在进行矩阵之间的运算时“.”和“”的意义就有所不同了。假设a,b表示两个矩阵,a*b表示矩阵a与矩阵b进行矩阵相乘,a.*b表示矩阵a中的元素与矩阵b中的元素按位置依次相乘,得到的结果将作为新矩阵中相同位置的元素。
Step 2
存盘、命名
Step 3
运行
数学模型:
其约束条件的系数矩阵相当特殊,可用比较简单的计算方法,习惯上称为表上作业法(由康托洛维奇和希奇柯克两人独立地提出,简称康—希表上作业法)。
采用表上作业法即可,产销平衡和产销不平衡问题的链接放上: 运输问题表上作业法步骤.
拟分配n 人去干n项工作,每人干且仅干一项工作,若分配第i人去干第j项工作,需花费Cij单位时间,问应如何分配工作才能使工人花费的总时间最少?
1.求解指派问题的匈牙利算法
这里有篇文章写的很好,小菜鸡就不写了,链接放上: 匈牙利算法解决指派问题清晰流程.
知道有这回事就行,遇上再说[doge]
指的是问题矩阵的转置有解求原矩阵的最优解
链接放上:运筹学中应该如何理解互补松弛性。这条性质又该如何运用?
涉及数学建模,MATLAB方面的反而不多,需要建模原型的留言
1.MATLAB中LP问题的矩阵处理,linprog函数
2.表上作业法
3.五个问题