nullMATLAB机械优化设计
实例指导教程MATLAB机械优化设计
实例指导教程null 利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
。具体而言,包括线性、非线性最小化,最大最小化,二次规划,半无限问题,线性、非线性方程(组)的求解,线性、非线性的最小二乘问题。另外,该工具箱还提供了线性、非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
,为优化方法在工程中的实际应用提供了更方便快捷的途径。 概 述1.1 优化工具箱中的函数1.1 优化工具箱中的函数优化工具箱中的函数包括下面几类:
最小化函数1.2有边界非线性最小化1.2有边界非线性最小化 [函数] fminbnd 功能:找到固定区间内单变量函数的最小值。 [格式] x = fminbnd(fun,x1,x2)
x = fminbnd(fun,x1,x2,options)
[x,fval] = fminbnd(…)
[x,fval,exitflag] = fminbnd(…)
[x,fval,exitflag,output] = fminbnd(…) [应用背景]给定区间x1
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
形式为 :
min
sub.to:
其中:其中f、x、b、beq、lb、ub为向量,A、Aeq为矩阵。
其它形式的线性规划问题都可经过适当变换化为此标准形式。
1.3线性规划及其优化函数1.3线性规划及其优化函数[函数] linprog
[格式] x = linprog(f,A,b,Aeq,beq)
x = linprog(f,A,b,Aeq,beq,lb,ub)
x = linprog(f,A,b,Aeq,beq,lb,ub,x0)
x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
[x,fval] = linprog(…)
[x,fval,exitflag] = linprog(…)
[x,fval,exitflag,output] = linprog(…)
[x,fval,exitflag,output,lambda] = linprog(…) 1.3线性规划及其优化函数1.3线性规划及其优化函数[说明]
f: 是优化参数x的系数矩阵;
lb,ub: 设置优化参数x的上下界;
fval: 返回目标函数在最优解x点的函数值;
exitflag:返回算法的终止标志;
output: 返回优化算法信息的一个数据结构。
lambda:解x的Lagrange乘子 1.3线性规划及其优化函数1.3线性规划及其优化函数说明: 若exitflag>0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大数字,exitflag<0表示函数不收敛于解x;若lambda=lower 表示下界lb,lambda=upper表示上界ub,lambda=ineqlin表示不等式约束,lambda=eqlin表示等式约束,lambda中的非0元素表示对应的约束是有效约束;output=iterations表示迭代次数,output=algorithm表示使用的运算规则,output=cgiterations表示PCG迭代次数。1.3线性规划及其优化函数1.3线性规划及其优化函数[应用举例]
求使函数 取最小值的x值,
且满足约束条件:
1.3线性规划及其优化函数1.3线性规划及其优化函数[代码]f = [-5; -4; -6];
A = [1 -1 1;3 2 4;3 2 0];
b = [20; 42; 30];
lb = zeros(3,1);
[x,fval] = linprog(f,A,b,[],[],lb)
[结果] x =
0.0000
15.0000
3.0000
fval =
-78.00001.3线性规划及其优化函数1.3线性规划及其优化函数应用实例
[ [例三] 生产决策问题
某厂生产甲乙两种产品,已知制成一吨产品甲需用资源A 3吨,资源B 4m3;制成一吨产品乙需用资源A 2吨,资源B 6m3,资源C 7个单位。若一吨产品甲和乙的经济价值分别为7万元和5万元,三种资源的限制量分别为90吨、200m3和210个单位,试决定应生产这两种产品各多少吨才能使创造的总经济价值最高?
令生产产品甲的数量为x1,生产产品乙的数量为x2。由题意可以建立下面的模型:
该模型中要求目标函数最大化,需要按照Matlab的要求进行转换,即目标函数为
首先输入下列系数:
f = [-7;-5];
A = [3 2
4 6
0 7];1.3线性规划及其优化函数1.3线性规划及其优化函数b = [90; 200; 210];
lb = zeros(2,1);
然后调用linprog函数:
[x,fval,exitflag,output] = linprog(f,A,b,[],[],lb)
x =
14.0000
24.0000
fval =
-218.0000
exitflag =
1
output =
iterations: 5
cgiterations: 0
algorithm: 'lipsol'
由上可知,生产甲种产品14吨、乙种产品24吨可使创建的总经济价值最高。最高经济价值为218万元。exitflag=1表示过程正常收敛于解x处。1.3线性规划及其优化函数[例四] 生产计划的最优化问题
某工厂生产A和B两种产品,它们需要经过三种设备的加工,其工时如表9-16所示。设备一、二和三每天可使用的时间分别不超过12、10和8小时。产品A和B的利润随市场的需求有所波动,如果预测未来某个时期内A和B的利润分别为4和3千元/吨,问在那个时期内,每天应安排产品A、B各多少吨,才能使工厂获利最大?
表1 生产产品工时表
设每天应安排生产产品A和B分别为x1吨和x2吨,由题意建立下面的
数学
数学高考答题卡模板高考数学答题卡模板三年级数学混合运算测试卷数学作业设计案例新人教版八年级上数学教学计划
模型:
首先转换目标函数为标准形式:
输入下列系数:1.3线性规划及其优化函数1.3线性规划及其优化函数f = [-4;-3];
A=[3 4
3 3
4 2];
b=[12;10;8];
lb = zeros(2,1);
然后调用linprog函数:
[x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);
x =
0.8000
2.4000
fval =
-10.4000
所以,每天生产A产品0.80吨、B产品2.40吨可使工厂获得最大利润。
1.3线性规划及其优化函数null[例五] 工件加工任务分配问题
某车间有两台机床甲和乙,可用于加工三种工件。假定这两台机床的可用台时数分别为700和800,三种工件的数量分别为300、500和400,且已知用三种不同机床加工单位数量的不同工件所需的台时数和加工费用(如表2所示),问怎样分配机床的加工任务,才能既满足加工工件的要求,又使总加工费用最低?
表2 机床加工情况表设在甲机床上加工工件1、2和3的数量分别为x1、x2和x3,在乙机床上加工工件1、2和3的数量分别为x4、x5和x6。根据三种工种的数量限制,有null x1+x4=300 (对工件1)
x2+x5=500 (对工件2)
x3+x6=400 (对工件3)
再根据机床甲和乙的可用总台时限制,可以得到其它约束条件。以总加工费用最少为目标函数,组合约束条件,可以得到下面的数学模型:
首先输入下列系数:
f = [13;9;10;11;12;8];
A = [0.4 1.1 1 0 0 0
0 0 0 0.5 1.2 1.3];
b = [700; 800];
Aeq=[1 0 0 1 0 0
0 1 0 0 1 0
0 0 1 0 0 1];
beq=[300 500 400];
lb = zeros(6,1);null然后调用linprog函数:
[x,fval,exitflag,output,lambda] = linprog(f,A,b,Aeq,beq,lb);
x =
0.0000
500.0000
0.0000
300.0000
0.0000
400.0000
fval =
1.1000e+004
exitflag =
1
可见,在甲机床上加工500个工件2,在乙机床上加工300个工件1、加工400个工件3可在满足条件的情况下使总加工费最小。最小费用为11000元。收敛正常。null[例六] 确定职工编制问题
某厂每日八小时的产量不低于1800件。为了进行质量控制,计划聘请两种不同水平的检验员。一级检验员的标准为:速度 25件/小时,正确率 98%,计时工资 4元/小时;二级检验员的标准为:速度 15件/小时,正确率 95%,计时工资 3元/小时。检验员每错检一次,工厂要损失2元。现有可供厂方聘请的检验员人数为一级8人和二级10人。为使总检验费用最省,该工厂应聘一级、二级检验员各多少名?
设需要一级和二级检验员的人数分别为x1名和x2名,由题意可以建立下面的模型:
利用Matlab进行求解之前需要将第三个约束条件进行转换,两边取负以后得到
首先输入下列系数:
f= [40;36];
A= [1 0
0 1
-5 -3];
b=[8;10;-45];
lb = zeros(2,1);null然后调用linprog函数:
[x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);
x =
8.0000
1.6667
fval =
380.0000
exitflag =
1
可见,招聘一级检验员8名、二级检验员2名可使总检验费最省,约为380.00元。计算收敛。1.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[函数]fminunc
[格式]x = fminunc(fun,x0)
x = fminunc(fun,x0,options)
[x,fval] = fminunc(…)
[x,fval,exitflag] = fminunc(…)
[x,fval,exitflag,output] = fminunc(…)
[x,fval,exitflag,output,grad] = fminunc(…)
[x,fval,exitflag,output,grad,hessian] = fminunc(…)1.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[说明]
fun 是目标函数
options 设置优化选项参数
fval 返回目标函数在最优解x点的函数值
exitflag 返回算法的终止标志
output 返回优化算法信息的一个数据结构
grad 返回目标函数在最优解x点的梯度
hessian 返回目标函数在最优解x点的Hessian矩阵值
1.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[应用举例] 的最小值
[代码]%首先编写目标的.m文件
function f=myfun(x)
f=3*x(1)^2+2*x(1)*x(2)+x(2)^2
%然后调用函数 fminunc
%起始点
x0=[1,1];
[x,fval]=fminunc(@myfun,x0)
[结果]
x = 1.0e-008 *
-0.7512 0.2479
fval =
1.3818e-0161.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[函数] fminsearch
[格式] x = fminsearch(fun,x0)
x = fminsearch(fun,x0,options)
[x,fval] = fminsearch(…)
[x,fval,exitflag] = fminsearch(…)
[x,fval,exitflag,output] = fminsearch(…)
1.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[说明]
fun 是目标函数
options 设置优化选项参数
fval 返回目标函数在最优解 x点的函数值
exitflag 返回算法的终止标志
output 返回优化算法信息的一个数据结构1.4无约束非线性及其优化函数1.4无约束非线性及其优化函数[应用举例]求函数 取最小值时的值。
[代码]%首先编写f(x)的.m 文件
function f=myfun(x)
f=sin(x)+3;
%然后调用函数fminsearch
x0=2 ; %起始点
[x,fval]=fminsearch(@myfun,x0)
[结果] x = 4.7124
fval = 2.0000null局限性:
1.目标函数必须是连续的。fminunc函数有时会给出局部最优解。
2.fminunc函数只对实数进行优化,即x必须为实数,而且f(x)必须返回实数。当x为复数时,必须将它分解为实部和虚部。
1.应用fminsearch函数可能会得到局部最优解。
2.fminsearch函数只对实数进行最小化,即x必须由实数组成,f(x)函数必须返回实数。如果x时复数,必须将它分为实数部和虚数部两部分。
注意:当函数的阶数大于2时,使用fminunc比fminsearch更有效,但当所选函数高度不连续时,使用fminsearch效果较好。本节结束本节结束Thank You!