Using Linprog to perform a MaxMin optimization.

4 ビュー (過去 30 日間)
Whitchurch Muthumani
Whitchurch Muthumani 2022 年 2 月 22 日
Hi,
I am trying to solve a MaxMin , 2 player zero-sum game kind of problem using linprog function:
Our Professor, wanted us to use that to come up with the MaxMin solution:
I know how to solve LP using linprog, over single objective functions like this:
Non-matlab compatible form:
max: 2x+5y
s.t : x+y <= 1000
x+5y <= 2000
x>= 0; y >=0;
Change it to a form that linprog likes:
min: -2x-5y
s.t : x+y <= 1000
x+5y <= 2000
x>= 0; y >=0;
f = [-2,-5]
A = [1 1; 1 5]
b = [1000 2000]
xright = linprog(f,A,b)
However, for a MaxMin problem, the objective looks like this:
v = min(-3z1+2z2, z1-z2)
min -v
subject to:
some constraints.
How do I represent V in matlab. There are 2 things under consideration separated by a comma min(-3z1+2z2, z1-z2).
For a normal LP problem, I can do it, without any issues , as there is only onle objective being dealt with.
Thanks
  2 件のコメント
Sulaymon Eshkabilov
Sulaymon Eshkabilov 2022 年 2 月 22 日
Have you seen this extensive help documentation of MATLAB with a few nice examples: https://www.mathworks.com/help/optim/ug/linprog.html
Whitchurch Muthumani
Whitchurch Muthumani 2022 年 2 月 25 日
Yes I did.
I did eventually use linprog, but with the
Problem object. In this object I specified my constraints.
I had to set the optimization objection to V, instead of min(-3z1+2z2, z1-z2), and do linprog on it, with additional constraints over V. As mentioned in the answer which I accepted.

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

採用された回答

Torsten
Torsten 2022 年 2 月 22 日
min: -v
v <= -3*z1 + 2*z2
v <= z1 - z2
+ additional constraints
  1 件のコメント
Whitchurch Muthumani
Whitchurch Muthumani 2022 年 2 月 25 日
Thank you.
This is the very same approach I came up with.
As you stated, I set the objective to -v and
used the constraints with it.
Additionaly, I learnt about the cvx solver, and used that one.
It gave me the benefit of not having to change the signs, as is the case with linprog.
Both approaches gave the same answer.
Thank you for your help.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSolver Outputs and Iterative Display についてさらに検索

タグ

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by