# How to find optimizers with computer in this kind of minimax problem

I have a minimax problem of the form $$\max_{\substack{u_1,\dots,u_n \ge 0 \\ u_1+\dots+u_n = 1}} \min_{\substack{v_1,\dots,v_m \ge 0 \\ v_1+\dots+v_m = 1 \\ v_{j_1} \le v_{j_2} \hspace{1mm} \forall (j_1,j_2) \in J}} \sum_{i=1}^n \sum_{j=1}^m c_{i,j} u_i v_j,$$ where $$J$$ is some (given) subset of $$[m]\times[m]$$ and each $$c_{i,j} \in \{0,1\}$$ (is given).

So it's a normal kind of minimax problem, except we have some inequalities amongst the $$v_j$$'s.

By the minimax theorem, there are $$u^* = (u_i^*)_{i=1}^n, v^* = (v_j^*)_{j=1}^m$$ that are best responses" to one another.

Let's assume our problem is such that there is only one such $$u^*$$.

Question: How can I quickly (in practice, on a computer) find $$u^*$$?

The values of $$n$$ and $$m$$ I am working with are actually very small (e.g. $$n \le 7, m \le 14$$). However, Mathematica seemingly takes forever to compute the minimax, even with $$n=2,m=4$$.

Using Mathematica, I can find (some) $$v^*$$ rather quickly by interchanging the max and the min, and then noting that the max of the double sum over the possible $$(u_i)_{i=1}^n$$'s is simply a max of the double sum over the $$n$$ tuples $$(u_i)_{i=1}^n$$ with exactly one $$1$$ (and the rest $$0$$). However, this doesn't help me find $$u^*$$.