CVX Mosek solver failed for a very simple problem

I have a very simple problem

d = [110; 112; 200; 193; 195; 188];

cvx_begin
cvx_solver MOSEK
    variable x(6) integer % number of new workers in month
    variable n(6) integer
minimize(sum(x*100+n*150))
subject to
x+n >= d

cvx_end

for some reason it always fail. Only when I remove the n variable it doesn’t fail, however there are even more variables I would like to add.

Here’s the output:

Calling Mosek 9.1.9: 18 variables, 6 equality constraints

MOSEK Version 9.1.9 (Build date: 2019-11-21 11:32:15)
Copyright © MOSEK ApS, Denmark. WWW: mosek.com
Platform: MACOSX/64-X86

Problem
Name :
Objective sense : min
Type : LO (linear optimization problem)
Constraints : 6
Cones : 0
Scalar variables : 18
Matrix variables : 0
Integer variables : 12

Optimizer started.
Mixed integer optimizer started.
Threads used: 4
Presolve started.
Presolve terminated. Time = 0.00
Presolved problem: 6 variables, 0 constraints, 0 non-zeros
Presolved problem: 12 general integer, 0 binary, -6 continuous
Clique table size: 0
BRANCHES RELAXS ACT_NDS DEPTH BEST_INT_OBJ BEST_RELAX_OBJ REL_GAP(%) TIME

Objective of best integer solution : Not available.
Best objective bound : Not available.
Construct solution objective : Not employed
User objective cut value : Not employed
Number of cuts generated : 0
Number of branches : 0
Number of relaxations solved : 0
Number of interior point iterations: 0
Number of simplex iterations : 0
Time spend presolving the root : 0.00
Time spend optimizing the root : 0.00
Mixed integer optimizer terminated. Time: 0.15

Optimizer terminated. Time: 0.23

Integer solution solution summary
Problem status : PRIMAL_INFEASIBLE_OR_UNBOUNDED
Solution status : UNKNOWN
Primal. obj: 0.0000000000e+00 nrm: 0e+00 Viol. con: 2e+02 var: 0e+00 itg: 0e+00
Optimizer summary
Optimizer - time: 0.23
Interior-point - iterations : 0 time: 0.00
Basis identification - time: 0.00
Primal - iterations : 0 time: 0.00
Dual - iterations : 0 time: 0.00
Clean primal - iterations : 0 time: 0.00
Clean dual - iterations : 0 time: 0.00
Simplex - time: 0.00
Primal simplex - iterations : 0 time: 0.00
Dual simplex - iterations : 0 time: 0.00
Mixed integer - relaxations: 0 time: 0.15


Status: Failed
Optimal value (cvx_optval): NaN

Let n = d - x, The objective is then sum(150*d-50*x). If each element of x is made arbitrarily large, the objective function goes to -\infty , i.e., the problem is unbounded.

1 Like

Thanks for your reply.

How could I add a binary constraint z such that whenever n >= 0 then z must be 1? I could only find some info on mosek docs but it is different than what I need.