how to solve an optimization with a function in objective function

1 view (last 30 days)
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? :)

Answers (1)

Matt J
Matt J on 11 May 2022
ga and surrogateopt are designed for problems of that form.
  8 Comments
Shahrooz Pouryousef
Shahrooz Pouryousef on 11 May 2022
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
Shahrooz Pouryousef on 11 May 2022
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.

Sign in to comment.

Categories

Find more on Get Started with Optimization Toolbox 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!