How to skip paretosearch iteration

2 ビュー (過去 30 日間)
Volodymyr Rodin
Volodymyr Rodin 2019 年 7 月 4 日
コメント済み: Gifari Zulkarnaen 2020 年 2 月 26 日
Hi everyone,
I am using paretosearch for multi-objective optimization based on another program output.
However, some certain values of variables, that I am optimizing may cause 0 or a blank result of the function.
Can I somehow skip these iterations in further analysis or I just need to make boundaries tighter?
Best wishes,
Volodymyr Rodin

回答 (1 件)

Gifari Zulkarnaen
Gifari Zulkarnaen 2020 年 2 月 26 日
In the objective function, you can put a large penalty or result to make it like a bad result, so pattern search won't consider it and move to next step. For example:
function fval = objective(x)
program_output = function_to_call_your_program(x);
if iszero(program_output) | isempty(program_output)
fval = 1000; % large value
else
fval = program_output;
end
end
  2 件のコメント
Volodymyr Rodin
Volodymyr Rodin 2020 年 2 月 26 日
Hi,
That's actually what I did to continue optimization.
Thanks, for reply.
Gifari Zulkarnaen
Gifari Zulkarnaen 2020 年 2 月 26 日
There is a "Revival" badge for answering question more than a month old. So I looked around for an unanswered question and came to yours for the badge. I didn't expect you would even check :D

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMultiobjective Optimization についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by