Hi to all,
I have the following problem: there’s an option the Mosek solver provides, “MSK_IPAR_MIO_CONSTRUCT_SOL”, that perfectly meets my needs, but unfortunately I don’t know hot to make it active.
My scope is to solve a mixed integer optimization using the Mosek solver through CVX, like in this example:
cvx_solver mosek
cvx_begin
cvx_precision low
cvx_solver_settings('MSK_DPAR_MIO_MAX_TIME',43200)
cvx_solver_settings('MSK_IPAR_MIO_CONSTRUCT_SOL','MSK_ON')
variable x_log(Nx*Ny)
variable wb(Nx*Ny) binary
wb==wb_initial;
minimize( sum(wb) )
subject to
x_log>=epsilon;
x_log<=wb+epsilon;
sum(x_log)==1;
max(NDM*wb)<=1;
abs(MatPattT(vis,:)*x_log)<=10^(SLL_th(2,i1)/20);
cvx_end
I know a priori that an initial, feasible vector for “wb” is “wb_initial”, that is of course perfectly known. The parameter I’m discussing about is binary (in the sense that it can be turned on or off; by default it’s off), and should let the (Mosek in this case) solver try to compute a feasible solution from the specified values of the integer variables (from “wb_initial” in this case) among the remaining variables left by the “initialization”. Well, the parameter seems to be switched on with
cvx_solver_settings(‘MSK_IPAR_MIO_CONSTRUCT_SOL’,‘MSK_ON’),
but it stays actually inactive because the line
wb==wb_initial;
is interpreted as an assignment, not as an initial condition for the solver to start from, and the result is that the solution of the optimization process is very “wb_initial”! Yet it just represents a point to start from that is a solution of the problem but that is not the optimal one. I even tried to insert it after the “subject to”, as well as before “cvx_solver_settings(‘MSK_IPAR_MIO_CONSTRUCT_SOL’,‘MSK_ON’)”, but nothing changed.
According to the Mosek guide for Matlab, when using Mosek “standalone” the initial vector is given as a part of the problem to solve, and turning “MSK_IPAR_MIO_CONSTRUCT_SOL” on becomes an active parameter that lets such part of the problem be interpreted as an initial point to start the optimization from; well, my scope is to do the same thing with Mosek under CVX.
Can anyone help me?
Thanks!!