Global optimization hybrid gamultiobj
Show older comments
Hello
I am using hybrid gamultiobj() to solve a optimization problem. As of now i am trying to reduce the execution time as much as possible without using parallelcomputing toolbox.
Hence i tried the below steps:
- Call gamulitobj()
- Call OutputFcns() - In this function, i am monitoring the intermediate states and calling a custom made decision making algorithm, which selects one optimal parameter from the set of optimal solutions with rank 1 at each iteration
- Based on a custom made condition after analyzing past history, i terminate the global optimization using 'state.StopFlag'
- Just before terminating the global optimization, I overwrite the state.Population, state.Score,state.Rank with only one optimal parameter.
state.Population = Top_Population; %decided by a utility function
state.Score = Top_Score; %decided by a utility function
state.Rank = 1; % Only one optimal parameter of rank 1.
- Later algorithm switches over to a multiobjective local optimizer (fgoalattain). However when i monitor the iterations of fgoalattain using OutputFcns_hyb() i always get 'Hessian not updated'
I am sure that something is going wrong at this stage.
Bascially, I understand that 'fgoalattain' runs for all pareto optimal solutions. In my case i wish to run it for only one optimal solution that is with the return value (optimal parameter) of my custom made decision making algorithm.
In summary,
- Can we overwrite the state structure as described above?
- If i cannot overwrite, can i use gamultiobj() without hybrid function and later call fgoalattain with the single optimal parameter as initial condition?
- Any simple example to call fgoalattain() as a stand alone function will be really helpful as i could not clearly understand the 'GOAL' and 'WEIGHT' input parameters. Any default setting can be used for GOAL and WEIGHT?
Thank you
Chris
1 Comment
christober
on 25 Nov 2015
Answers (0)
Categories
Find more on Multiobjective Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!