Error when using BMIBNB with MOSEK (Error 1200: [MSK_RES_ERR_IN_ARGUMENT] [A function argument is incorrect.])

147 views
Skip to first unread message

趙唐

unread,
Mar 7, 2021, 11:33:18 AM3/7/21
to YALMIP
Version info:
OS: Win10
Matlab: 9.8.0.1538580 (R2020a) Update 6
mosek: 9.2.38 (64-bit installed with .msi installer)
yalmip: R20200930


I'm trying the following MISDP problem with BMIBNB (the code is attached):
Snipaste_2021-03-08_00-27-13.png

The problem is always feasible with trivial solution (W = 0).
The setting used. opts_BMIBNB = sdpsettings('solver','bmibnb','bmibnb.lowersolver','mosek','bmibnb.uppersolver','mosek','bmibnb.lpsolver','mosek','verbose',1);

I encountered error 1200 of mosek ([MSK_RES_ERR_IN_ARGUMENT] [A function argument is incorrect.]) as following:

* Starting YALMIP global branch & bound.
* Upper solver     : MOSEK
* Lower solver     : MOSEK
* LP solver        : MOSEK
* -Extracting bounds from model
* -Perfoming root-node bound propagation
* -Calling upper solver *** Error(1200): param.MSK_IPAR_MIO_CONSTRUCT_SOL
Return code - 1200 [MSK_RES_ERR_IN_ARGUMENT] [A function argument is incorrect.]
(no solution found)
* -Branch-variables : 0
* -More root-node bound-propagation
* -Performing LP-based bound-propagation 
* -And some more root-node bound-propagation
* Starting the b&b process
 Node       Upper       Gap(%)       Lower     Open   Time
*** Error(1200): param.MSK_IPAR_MIO_CONSTRUCT_SOL
Return code - 1200 [MSK_RES_ERR_IN_ARGUMENT] [A function argument is incorrect.]
    1 :           Inf      NaN   -1.86845E+02    0    21s    
* Finished.  Cost: Inf (lower bound: -186.8455, relative gap NaN%)
* Termination with all nodes pruned 
* Timing: 1% spent in upper solver (2 problems solved)
*         1% spent in lower solver (1 problems solved)
*         73% spent in LP-based domain reduction (5480 problems solved)
*         2% spent in upper heuristics (341 candidates tried)


Both 'mosekdiag' and 'yalmiptest' run successfully, except that the 'infeasible QP' test case return an unknown error instead of infeasible.
This error also happens when using cutsdp with mosek, although bnb with mosek is fine. (I'm using BMIBNB hoping for better performance.)

A strange thing is that another machine(that I have limited access to) with the same version of everything can run the exact same code with no error.
I'm suspecting some set-up mistakes, but I don't know where to look into.
Any help is appreciated. Thanks.

BMIBNB_test.m

Johan Löfberg

unread,
Mar 7, 2021, 11:41:34 AM3/7/21
to YALMIP
fixed already on develop branch

趙唐

unread,
Mar 9, 2021, 12:48:54 AM3/9/21
to YALMIP
Thank you for your reply.
I updated yalmip and used Gurobi(ver. 9.1.1) as the LP solver instead, and the same error still appears.
It seems like using mosek as the lower solver was the problem.
* Starting YALMIP global branch & bound.
* Upper solver     : MOSEK
* Lower solver     : MOSEK
* LP solver        : GUROBI
* -Extracting bounds from model
* -Perfoming root-node bound propagation
* -Calling upper solver (no solution found)
* -Branch-variables : 0
* -More root-node bound-propagation
* -Performing LP-based bound-propagation 
* -And some more root-node bound-propagation
* Starting the b&b process
 Node       Upper       Gap(%)       Lower     Open   Time
*** Error(1200): param.MSK_IPAR_MIO_CONSTRUCT_SOL
Return code - 1200 [MSK_RES_ERR_IN_ARGUMENT] [A function argument is incorrect.]
    1 :           Inf      NaN   -2.27977E+02    0    28s    
* Finished.  Cost: Inf (lower bound: -227.9766, relative gap NaN%)
* Termination with all nodes pruned 
* Timing: 1% spent in upper solver (2 problems solved)
*         1% spent in lower solver (1 problems solved)
*         80% spent in LP-based domain reduction (5480 problems solved)
*         2% spent in upper heuristics (341 candidates tried)

Johan Löfberg 在 2021年3月8日 星期一上午12:41:34 [UTC+8] 的信中寫道:
BMIBNB_test.m

Johan Löfberg

unread,
Mar 9, 2021, 1:24:28 AM3/9/21
to YALMIP
Hadn't fixed that completely, new updates pushed to develop

It fails to solve the problem though (not too surprising, solving a linear massive SDP via bmibnb is just a very bad idea, it will be basically be a very bad experimental version of cutsdp). Having said that, this model is huge for cutsdp and bnb too
Reply all
Reply to author
Forward
0 new messages