@@ -360,99 +360,106 @@ void BasicTrustRegionSQPResults::update(const OptResults& prev_opt_results,
360360void BasicTrustRegionSQPResults::print () const
361361{
362362 // Print Header
363- std::printf (" \n | %s |\n " , std::string (75 , ' =' ).c_str ());
364- std::printf (" | %s %s %s |\n " , std::string (29 , ' ' ).c_str (), " ROS Industrial" , std::string (30 , ' ' ).c_str ());
365- std::printf (" | %s %s %s |\n " , std::string (25 , ' ' ).c_str (), " TrajOpt Motion Planning" , std::string (25 , ' ' ).c_str ());
366- std::printf (" | %s |\n " , std::string (75 , ' =' ).c_str ());
363+ std::printf (" \n | %s |\n " , std::string (88 , ' =' ).c_str ());
364+ std::printf (" | %s %s %s |\n " , std::string (36 , ' ' ).c_str (), " ROS Industrial" , std::string (36 , ' ' ).c_str ());
365+ std::printf (" | %s %s %s |\n " , std::string (32 , ' ' ).c_str (), " TrajOpt Motion Planning" , std::string (31 , ' ' ).c_str ());
366+ std::printf (" | %s |\n " , std::string (88 , ' =' ).c_str ());
367367
368368 // Print Cost and Constraint Data
369- std::printf (" | %10s | %10s | %10s | %10s | %10s | %10s | -%15s \n " ,
369+ std::printf (" | %10s | %10s | %10s | %10s | %10s | %10s | %10s | \n " ,
370370 " merit" ,
371371 " oldexact" ,
372372 " new_exact" ,
373+ " new_approx" ,
373374 " dapprox" ,
374375 " dexact" ,
375- " ratio" ,
376- " " );
377- std::printf (" | %s | COSTS\n " , std::string (75 , ' -' ).c_str ());
376+ " ratio" );
377+ std::printf (" | %s | COSTS\n " , std::string (88 , ' -' ).c_str ());
378378 for (size_t i = 0 ; i < old_cost_vals.size (); ++i)
379379 {
380380 double approx_improve = old_cost_vals[i] - model_cost_vals[i];
381381 double exact_improve = old_cost_vals[i] - new_cost_vals[i];
382382 if (fabs (approx_improve) > 1e-8 )
383- std::printf (" | %10s | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | %-15s \n " ,
383+ std::printf (" | %10s | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | % -15s \n " ,
384384 " ----------" ,
385385 old_cost_vals[i],
386386 new_cost_vals[i],
387+ model_cost_vals[i],
387388 approx_improve,
388389 exact_improve,
389390 exact_improve / approx_improve,
390391 cost_names[i].c_str ());
391392 else
392- std::printf (" | %10s | %10.3e | %10.3e | %10.3e | %10.3e | %10s | %-15s \n " ,
393+ std::printf (" | %10s | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | % 10s | %-15s \n " ,
393394 " ----------" ,
394395 old_cost_vals[i],
395396 new_cost_vals[i],
397+ model_cost_vals[i],
396398 approx_improve,
397399 exact_improve,
398- " ------ " ,
400+ " ---------- " ,
399401 cost_names[i].c_str ());
400402 }
401- std::printf (" | %s |\n " , std::string (75 , ' =' ).c_str ());
402- std::printf (" | %10s | %10.3e | %10.3e | %10s | %10s | %10s | SUM COSTS \n " ,
403+ std::printf (" | %s |\n " , std::string (88 , ' =' ).c_str ());
404+ std::printf (" | %10s | %10.3e | %10.3e | %10.3e | % 10s | %10s | %10s | SUM COSTS\n " ,
403405 " ----------" ,
404406 vecSum (old_cost_vals),
405407 vecSum (new_cost_vals),
406- " ------ " ,
407- " ------ " ,
408- " ------ " );
409- std::printf (" | %s |\n " , std::string (75 , ' =' ).c_str ());
408+ vecSum (model_cost_vals),
409+ " ----------" ,
410+ " ----------" ,
411+ " ----------" );
412+ std::printf (" | %s |\n " , std::string (88 , ' =' ).c_str ());
410413
411414 if (!cnt_names.empty ())
412415 {
413- std::printf (" | %s | CONSTRAINTS\n " , std::string (75 , ' -' ).c_str ());
416+ std::printf (" | %s | CONSTRAINTS\n " , std::string (88 , ' -' ).c_str ());
414417 for (size_t i = 0 ; i < old_cnt_viols.size (); ++i)
415418 {
416419 double approx_improve = old_cnt_viols[i] - model_cnt_viols[i];
417420 double exact_improve = old_cnt_viols[i] - new_cnt_viols[i];
418421 if (fabs (approx_improve) > 1e-8 )
419- std::printf (" | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | %-15s \n " ,
422+ std::printf (" | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | % -15s \n " ,
420423 merit_error_coeffs[i],
421424 merit_error_coeffs[i] * old_cnt_viols[i],
422425 merit_error_coeffs[i] * new_cnt_viols[i],
426+ merit_error_coeffs[i] * model_cnt_viols[i],
423427 merit_error_coeffs[i] * approx_improve,
424428 merit_error_coeffs[i] * exact_improve,
425429 exact_improve / approx_improve,
426430 cnt_names[i].c_str ());
427431 else
428- std::printf (" | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | %10s | %-15s \n " ,
432+ std::printf (" | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | % 10s | %-15s \n " ,
429433 merit_error_coeffs[i],
430434 merit_error_coeffs[i] * old_cnt_viols[i],
431435 merit_error_coeffs[i] * new_cnt_viols[i],
436+ merit_error_coeffs[i] * model_cnt_viols[i],
432437 merit_error_coeffs[i] * approx_improve,
433438 merit_error_coeffs[i] * exact_improve,
434- " ------ " ,
439+ " ---------- " ,
435440 cnt_names[i].c_str ());
436441 }
437442 }
438- std::printf (" | %s |\n " , std::string (75 , ' =' ).c_str ());
439- std::printf (" | %10s | %10.3e | %10.3e | %10s | %10s | %10s | SUM CONSTRAINTS (WITHOUT MERIT) \n " ,
443+ std::printf (" | %s |\n " , std::string (88 , ' =' ).c_str ());
444+ std::printf (" | %10s | %10.3e | %10.3e | %10.3e | % 10s | %10s | %10s | SUM CONSTRAINTS (WITHOUT MERIT) \n " ,
440445 " ----------" ,
441446 vecSum (old_cnt_viols),
442447 vecSum (new_cnt_viols),
443- " ------ " ,
444- " ------ " ,
445- " ------ " );
446- std::printf (" | %s |\n " , std::string (75 , ' =' ).c_str ());
447- std::printf (" | %10s | %10.3e | %10.3e | %10.3e | %10.3e | %10.3e | TOTAL = SUM COSTS + SUM CONSTRAINTS (WITH "
448+ vecSum (model_cnt_viols),
449+ " ----------" ,
450+ " ----------" ,
451+ " ----------" );
452+ std::printf (" | %s |\n " , std::string (88 , ' =' ).c_str ());
453+ std::printf (" | %10s | %10.3e | %10.3e | %10s | %10.3e | %10.3e | %10.3e | TOTAL = SUM COSTS + SUM CONSTRAINTS (WITH "
448454 " MERIT)\n " ,
449455 " ----------" ,
450456 old_merit,
451457 new_merit,
458+ " ----------" ,
452459 approx_merit_improve,
453460 exact_merit_improve,
454461 merit_improve_ratio);
455- std::printf (" | %s |\n " , std::string (75 , ' =' ).c_str ());
462+ std::printf (" | %s |\n " , std::string (88 , ' =' ).c_str ());
456463}
457464
458465void BasicTrustRegionSQPResults::writeSolver (std::FILE* stream, bool header) const
0 commit comments