The Linear Programming Solver |
Consider a two-person zero-sum game (where one person wins what the other person loses). The players make moves simultaneously, and each has a choice of actions. There is a payoff matrix that indicates the amount one player gives to the other under each combination of actions:
If player I makes move and player II makes move , then player I wins (and player II loses) . What is the best strategy for the two players to adopt? This example is simple enough to be analyzed from observation. Suppose player I plays 1 or 3; the best response of player II is to play 1. In both cases, player I loses and player II wins. So the best action for player I is to play 2. In this case, the best response for player II is to play 3, which minimizes the loss. In this case, (2, 3) is a pure-strategy Nash equilibrium in this game.
For illustration, consider the following mixed strategy case. Assume that player I selects with probability , and player II selects with probability . Consider player II’s problem of minimizing the maximum expected payout:
This is equivalent to
We can transform the problem into a more standard format by making a simple change of variables: . The preceding LP formulation now becomes
which is equivalent to
where is the payoff matrix and is a vector of 1’s. It turns out that the corresponding optimization problem from player I’s perspective can be obtained by solving the dual problem, which can be written as
You can model the problem and solve it by using PROC OPTMODEL as follows:
proc optmodel; num a{1..3, 1..4}=[-5 3 1 8 5 5 4 6 -4 6 0 5]; var x{1..4} >= 0; max f = sum{i in 1..4}x[i]; con c{i in 1..3}: sum{j in 1..4}a[i,j]*x[j] <= 1; solve with lp / solver = ps presolver = none printfreq = 1; print x; print c.dual; quit;
The optimal solution is displayed in Output 10.3.1.
Problem Summary | |
---|---|
Objective Sense | Maximization |
Objective Function | f |
Objective Type | Linear |
Number of Variables | 4 |
Bounded Above | 0 |
Bounded Below | 4 |
Bounded Below and Above | 0 |
Free | 0 |
Fixed | 0 |
Number of Constraints | 3 |
Linear LE (<=) | 3 |
Linear EQ (=) | 0 |
Linear GE (>=) | 0 |
Linear Range | 0 |
The optimal solution with an optimal value of 0.25. Therefore the optimal strategy for player II is . You can check the optimal solution of the dual problem by using the constraint suffix ".dual". So and player I’s optimal strategy is (0, 1, 0). The solution is consistent with our intuition from observation.
Copyright © SAS Institute, Inc. All Rights Reserved.