在MATLAB中最小化多个变量中的多变量函数

时间:2014-07-02 17:39:21

标签: matlab mathematical-optimization

我需要最小化受约束影响的非线性函数,其中一切都是参数 - 没有数字。

有人知道这是否可以在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.

感谢您的帮助。

1 个答案:

答案 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