我需要最小化受约束影响的非线性函数,其中一切都是参数 - 没有数字。
有人知道这是否可以在MATLAB中使用?
以下是详细信息:
Find the minimum of (2A-MB)G(F+H+J+K+L)+A(B+C+D)(E+F)-(MC-A)^2 with
A,B,C,D,E,F,G,H,J,K,L > 0.
感谢您的帮助。
答案 0 :(得分:2)
您可以使用fmincon
。
以下是该功能的文档: http://www.mathworks.in/help/optim/ug/fmincon.html
目标函数必须写在一个单独的m文件中,该文件将向量x作为输入并返回标量输出。多个变量作为x [1],x [2],x [3]等传递。
x0是变量初始猜测的向量。这里它们都被初始化为1.它的长度为12,因为似乎有12个变量(包括'M')。
x0 = ones(12,1)
[x,fval] = fmincon(@fun,x0,[],[],[],[],zeros(12,1),[])
此链接将帮助您了解如何为多个变量编写目标函数:
http://www.mathworks.in/help/optim/ug/writing-objective-functions.html#brhkghv-4