Skip to content

SDPB throws an error if solver exits after a single iteration #277

@vasdommes

Description

@vasdommes

Sometimes SDPB can get a result during the first iteration timing run (e.g. when running in feasibility mode).
In that case, it should exit normally instead of throwing an error.

Current behavior example:

          time    mu     P-obj       D-obj      gap         P-err       D-err      P-step   D-step   beta
---------------------------------------------------------------------------------------------------------------------
1           37 1.0e+16  +0.00       +3.17e+13   1.00       +1.00e+08   +1.38e+14   1.00     0.700    0.300
-----primal feasible jump detected-----
primalObjective = 159999999.501992547391869080460304160414183639035376599402837903704660685756310342203004217898610329898018586010834258583412809361377781495591433070286927722
dualObjective   = 9514254447031.37228369573253190260829004841046234395279710152900061758758914828913367707373448090967995520934435750925374982690712308182734028262875990623194
dualityGap      = 0.999966366821543721355326288035753178409496626904210951652093565046439650138913737723989035388236355015234164203641897994485062947501912856486764104754373041
primalError     = 7.45834073120020674329096531546293383737647153460040689427151833320627838507011830493617489040042780336151160325583610145341272809522530266048616482959208469e-155
dualError       = 41274610385516.5917083543030495131841052331917314592744518210715837693205135557607194329452448185749801149154797025296523189921545732520287834848701938324770
Saving solution to      : “sdp_out”
Process 8 caught error message:
in time_and_solve() at ../src/sdpb/time_and_solve.hxx:58:
  block_timings vector is empty, probably because timing run exited before completing two solver iterations.
Stacktrace:
 0# Timers time_and_solve<Sdpb::Sdpa::SDP_Solver>(Environment const&, SDPB_Parameters, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) at ../src/sdpb/time_and_solve.hxx:58
 1# main at ../src/sdpb/main.cxx:82
 2# __libc_start_call_main at ../sysdeps/nptl/libc_start_call_main.h:58
 3# __libc_start_main at ../csu/libc-start.c:379
 4# _start in /home/zheng/sdpb/build/sdpb

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions