how to solve an optimization with a function in objective function

3 次查看(过去 30 天)
I need to do a non-convex non-linear integer programming optimization. The thing is I have a function in my objective function.
The objective function is as follows:
max where and are my variables for each k, t, and p. Function f is as follows:
function f(F_p,n):
f_1 = F_p;
f_0 = F_p;
for i = 1:n
f_1 = f_1*f_0/(f_1*f_0 + (1-f_1)*(1-f_0));
end
and it returns f_1. There are some constraints about the lower and upper bound and also the relation between the varibales that I have not mentioned here.
My question is can I implement and solve this using matlab Opti solver? And how? :)

回答(1 个)

Matt J
Matt J 2022-5-11
ga and surrogateopt are designed for problems of that form.
  8 个评论
Shahrooz Pouryousef
that's ok. Atleast we can solve it even though it may not return the optimal solution. And ga() by default tries to minimize, but I want to maximize my objective function. I guess that is not a problem. I just need to use a negative sign before my objective function. Is that correct? And any constraint for constraints? Is it ok to have non-convex and non-linear constraints in ga? Sorry if my questions are too basic.
Shahrooz Pouryousef
And maybe as the last question and request, would you please point me to a few examples that have similar problem formulations and have used ga()? I will check the examples in ga documentation, but my problem has multiple sets and the objective function is over three sets and pretty complicated. Samewise for constraints. The given examples on the documentation usually are very simple and I don't know how to go from there to my problem. I apologize again for asking many questions.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Surrogate Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by