本人正在使用matlab制作优化程序,现碰到如下问题:
输入变量为12个,输出需要满足f(1)~f(6)取最小值,同时f(6)~f(12)控制在一定范围之内(计算过程中除了eig命令外均为线性),欲通过优化算法求出12个变量。不知该用什么优化算法及函数来求解。

函数大致结构是这样的:
变量x1,x2,x3...x12
A为6×6的矩阵,形如:
[a1*x1+a2*x2+...+a12*x12     b1*x1+b2*x2+...+b12*x12    ...]
[        ...                    ...                     ...]
[        ...                    ...                     ...]
[v,d]=eig(A)
目标函数:
f1=v(1,1)^2 / Σ v(i,1)*v(j,1)
f2=v(2,2)^2 / Σ v(i,2)*v(j,2)
...
f6=v(6,6)^2 / Σ v(i,6)*v(j,6)
i,j=1,2,3...6
约束条件:
c1<d(k,k)<c2
k=1,2,3...6

望各位高手不吝赐教,谢谢

本人qq:175430052,请注明programmefan