6

You want to enforce $X(k) = 0 \implies R(k) = 0$ and $X(k) = 1 \implies R(k) \le G(k)$. You can use indicator constraints for that. Alternatively, a straightforward big-M formulation yields \begin{align} R(k) &\le M_1(k) X(k) \tag1 \\ R(k) - G(k) &\le M_2(k) (1 - X(k)) \tag2 \\ \end{align} A natural choice for $M_1(k)$ is a small constant upper ...


5

If $M$ is a (small) upper bound on $x$, introduce a binary variable $z$ and big-M constraint $x \le M z$. The idea is that $x>0$ implies $z=1$. Now use $B z$ in the objective.


4

Introduce bounded variable $y_{jk}$ to represent $\sum_{i\in I} x_{ijk} N_{ij} a_{ijk}$, and minimize $\sum_{j\in J}\sum_{k\in K} y_{jk}$. Now enforce $x_{ijk}=1 \implies y_{jk} = N_{ij} a_{ijk}$, by using either indicator constraints or big-M constraints. If $a_{ijk} \ge 0$, you need only enforce $x_{ijk}=1 \implies y_{jk} \ge N_{ij} a_{ijk}$ because the ...


4

To get the second largest variable when all are nonnegative and at most two can be nonzero, just take the sum of all of them and subtract the largest.


4

CVXPY makes this easy to do, using its disciplined quasiconvex programming (DQCP) capability. An example is provided at https://www.cvxpy.org/examples/dqcp/concave_fractional_function.html . Fractional Linear programming, as you have, is a simple special case of this.


4

$$ x \le z + M(1-\beta) \\ x \ge z - M(1-\beta) \\ x' \le z + M\beta \\ x' \ge z - M\beta \\ $$ If $\beta=1$, we have $$ x \le z \\ x \ge z \\ x' \le z + M \\ x' \ge z - M \\ $$ which leads to $x=z$ and $x'$ unconstrained. And likewise if $\beta=0$.


3

As far as I can see there is no exact convex reformulation for this, unless someone else can think of a nice trick. Constraint 1 can actually be convexified for certain ranges of $q_i$ as these functions are partially convex, e.g. $1/(1+x)^3$ is: The fractions in constraint 3 are also convex past certain hyperplanes. However, you would have to restrict your ...


3

If well understood, w1, w2, w3, and Z are some continuous variables in your mathematical model, while k is a constant. If the functions f1, f2, f3 involved in constraint #2 are continuous and nonlinear, then the only way to proceed to solve the problem by using MILP techniques and solvers is to use piecewise linear approximations of these functions. There is ...


2

If you do it, you will force a constraint that maybe is not true. Are you sure that constraint ($\displaystyle \sum_{i \in I} x_{ijk}=1, \forall j,k$) is always true? If you are, so it's a correct approach. If you aren't, the best way to linearize this constraint is to use a big-M approach. This approach can create problems of approximation and probably you ...


2

Do you mean $i$ and $j$ instead of $v$ and $v’$? If so, the constraints you want are $\alpha_{i,j}\le A_i$ and $\alpha_{i,j}\le A_j$.


2

I might be missing something here (and by "might be" I mean "probably am"), but at least for the case of $x_i \in [0,1]$ you might be able to get solutions via "brute force". I'm assuming that all the parameters ($F,p,b,\beta$) are positive. Suppose we slap a somewhat arbitrary upper bound $M$ on $q_1$, and then do a bisection ...


1

If you are willing to take an approximate solution (no guarantee of optimality), it should be fairly easy to apply any of a number of metaheuristics to your problem. It would be helpful if, for fixed $w_i$, $f_i(w_i Z)/Z$ were monotone in $Z$ (with all such ratios monotone in the same direction, increasing or decreasing). If they are not all monotonic, you ...


Only top voted, non community-wiki answers of a minimum length are eligible