How can setup optimset for custom data types.

2 次查看(过去 30 天)
I'm putting xo as initial guess. I want custom data just restricted x0 subset [0,30], by create permutation.
x0 = [30 30 30 30 30 30 0 0 0 0 0 0 0 0 30 30 30 30 30 30];
[x, fval] = fminsearch(@objfun, x0);
  1 个评论
Alan Weiss
Alan Weiss 2015-12-28
I am sorry, but I do not understand what you are asking. Your image is from a ga example, but your question seems to be about fminsearch.
So can you please explain what you are trying to do, and what the problem is?
Alan Weiss
MATLAB mathematical toolbox documentation

请先登录,再进行评论。

回答(1 个)

Matt J
Matt J 2015-12-28
编辑:Matt J 2015-12-28
Rewrite the problem in terms of binary variables 0<=y(i)<=1 where y=x/30. Then use the IntCon argument and bound constraints to minimize in terms of y,
N=numberofVariables;
LB=zeros(1,N);
UB=ones(1,N);
IntCon=1:N;
fun=@(y) FitnessFcn(30*y);
x = 30*ga(fun,N,[],[],[],[],LB,UB,IntCon,options);
  4 个评论
Triveni
Triveni 2016-1-20
@Walter, I'm sorry...but your code is not running.
Undefined function or variable
'options'.
when i remove options...
Error using ga (line 278)
Fitness function must be a function
handle.
Error using functionHandleOrCell (line
12)
The constraint function must be a
function handle.
Error in validate (line 181)
[nonlcon,NonconFcnArgs] =
functionHandleOrCell('NonconFcn',nonlcon);
Error in gacommon (line 73)
[options,nvars,FitnessFcn,NonconFcn] =
validate(options,type,nvars,fun,nonlcon,user_options);
Error in ga (line 327)
[x,fval,exitFlag,output,population,scores,FitnessFcn,nvars,Aineq,bineq,Aeq,beq,lb,ub,
...
Matt J
Matt J 2016-1-20
编辑:Matt J 2016-1-20
You should be wondering why Matlab thinks "options" is undefined, when the code you posted in your question defines it explicitly...
Regardless, Walter's solution will ultimately not work as written because (see My Remark) it tries to use IntCon and linear equalities simultaneously, which ga() does not allow.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Problem-Based Optimization Setup 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by