简体   繁体   English

如何在 matlab 'fminsearch' 中编写约束(x),如 'fmincon'

[英]how can I write a constraints(x) in matlab 'fminsearch' like 'fmincon'

hi guys I have some problem嗨,我有一些问题

I coding some optimization one我编写了一些优化代码

4 variables f(x1,x2,x3,x4) 4 个变量 f(x1,x2,x3,x4)

so...I was using 'fmincon'...but it doesn't work very well所以...我正在使用'fmincon'...但效果不佳

here is the Question这是问题

how can I write a constraints(x) in 'fminsearch' like 'fmincon'如何在“fminsearch”中编写约束(x),如“fmincon”

---------------constraints(x) form look like--------------------------- ---------------constraints(x) 形式看起来像----------------------------

    function [C, Ceq] = constraints(x)

    B=1200;       
    N=1;          

    C(1)= 60-x(1) ;
    C(2)= 50-x(4) ;                                                 
    C(3)=-140+x(1)+x(2);                                   
    C(4)=-x(3)+x(4);                                       
    C(7)=x(3)-B*N;                                       
    C(5)=-x(2);                                          
    C(6)= x(1)*B + x(4)*x(2)*N + (x(3)-x(4))*x(2)/2*N -107000; 

    Ceq=[];

    end

cruel life xoxo残酷的生活xoxo

You can't.你不能。 fminsearch is for unconstrained problems. fminsearch用于无约束问题。

However, you can choose a different fmincon algorithm:但是,您可以选择不同的fmincon算法:

  • 'interior-point' (default) '内部点' (默认)
  • 'trust-region-reflective' '信任区域反射'
  • 'sqp' 'sqp'
  • 'sqp-legacy' 'sqp-legacy'
  • 'active-set' '活动集'

See fmincon Algorithms .请参阅fmincon 算法 Use optimoptions to set the Algorithm option at the command line.使用optimoptions在命令行中设置算法选项。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM