Bi-level Optimization Problem

27 views (last 30 days)
Bashar
Bashar on 13 Apr 2023
Commented: Bashar on 18 Apr 2023
Hello all
I have to solve a bi-level optimization problem that is described as follows:
The upper layer problem is needed to be solved by using 'ga' solver.
and the lower problem is a MILP that should be solved by 'intlinprog'
The procedure of the solving the problem is as follows (in general):
1st ) the upper decision variables should be initialized and passed to lower problem as fixed values to start solving it .
2nd ) the lower problem is run and solved and produce the solutions ( the lower decision variables)
3rd ) the lower problem solutions should be returned to upper problem ( as values ) to start solving the upper problem and producing the solutions.
4th) the resultant upper solutions should be paassed to lower problem again until the maximum number of ga's generation is reached
The figures attached below clarify the structure of the mentioned problem
My questions are 1) how can I pass the intial populations (initial values of upper decision variables) to start the lower porblem ?
2)Also, how can I pass the solution of the upper problem to lower problem after each generation of ga ?

Answers (1)

Matt J
Matt J on 13 Apr 2023
Sine intlinprog is called by by ga's fitness function, you will have the variables in the upper problem as input to the lower problem there.
  18 Comments
Torsten
Torsten on 18 Apr 2023
I'm also a fan of "work from easy to difficult". But in your case, all the preparatory work has been done, you know how to couple two optimizations and it doesn't make sense to extend the test problem. You will have to start anew with your real problem making use of the method, but not the equations of the test problem.
Bashar
Bashar on 18 Apr 2023
You're completely right. Absolutly, I shall utilze the method not the same equations of the test problem.
Mnay Thanks

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!