二元二次的函数优化能在matlab上实现吗?

目标函数是以下形式k1,k2是常数,x,y是变量。约束条件中x,y有联系。

这种形式的目标函数在matlab中做优化当然可以,但是,需要明确一些条件:

    需要u和v的具体表达式,优化问题可能存在多个局部最优解,算法不是任何情况下都保证有效的,更不可能对于不定的任意函数直接求出最优解;

    约束条件x,y的关系应该已知,理由同上;

    k1和k2作为常数应该确定,理由和上面类似。

追问

这里x,y貌似没有关系

能请你把mtlab代码写出来吗?

追答

这个可以用无约束优化fminunc求解:
fminunc(inline('((2.59442*x(1)+357.967*x(2)-10.67)/10.67)^2+(2.59442*x(1)/(2.59442*x(1)+357.967*x(2))-0.0998)^2'),[0 0])
注意在上述表达式中,x(1)代表x,x(2)代表y。

就具体问题而言,求出来的最优值
x=0.4105
y=0.0268
请自行检查一下上面的表达式有没有写错(尤其是系数)。

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-16
我们当时做的都市简单的 这个还真没试过追问

那做过二元函数的优化吗?如单纯形法