MIP warm start with Gurobi

470 views
Skip to first unread message

zoharl

unread,
Jan 17, 2017, 2:16:26 AM1/17/17
to YALMIP
Hi,

I'm solving a SOCP with some of the variables binary using Gurobi. For some problems (I think they were MIQP), the warm start worked fine. For the current problem, it doesn't. The following simple test fails. I assign the solution to all the variables and solve again, and Gurobi just begins from scratch. Any tips about that?

zoharl

unread,
Jan 17, 2017, 3:04:39 AM1/17/17
to YALMIP
I converted the MI-SOCP to MI-QP and the warm start does work.

First I should note that only bin/int variables should be initialized (assigned), otherwise the warm start doesn't work.

I know that SOCP can't be warm started, but I only want to initialize the binvars which appear in linear constraints. 
Is it possible in general (due to the slack vars)?
Is it possible in Gurobi?
Is it possible in yalmip?

zoharl

unread,
Jan 18, 2017, 3:37:04 PM1/18/17
to YALMIP
I didn't check, but someone says gurobi should support it:

zoharl

unread,
Jan 18, 2017, 4:07:15 PM1/18/17
to YALMIP
I think I found the problem. I suggest the following change to append_normalized_socp.m:

    % We don't support initials here yet
%    x0 = []; % ZL
    % To simplify code, we currently normalize everything to z'
*z<z0^2
   
% This done by writting [c^Tx+d;Ax+b] in cone as
   
% [c^Tx+d;Ax+b]==[z0;z],  [z0;z] in cone
    nNew
= sum(K.q);
x0
= [x0; NaN(nNew,1)]; % ZL

but need to do it properly, and just for MI.
Reply all
Reply to author
Forward
0 new messages