Bi-level Optimization Problem

21 次查看(过去 30 天)
Bashar
Bashar 2023-4-13
评论: Bashar 2023-4-18
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 ?

回答(1 个)

Matt J
Matt J 2023-4-13
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 个评论
Torsten
Torsten 2023-4-18
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 2023-4-18
You're completely right. Absolutly, I shall utilze the method not the same equations of the test problem.
Mnay Thanks

请先登录,再进行评论。

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by