Skip to content

Mpecopt edits#23

Merged
nurkanovic merged 31 commits intomainfrom
mpecopt_edits
Sep 24, 2025
Merged

Mpecopt edits#23
nurkanovic merged 31 commits intomainfrom
mpecopt_edits

Conversation

@nurkanovic
Copy link
Member

Add MINLP solver, early termination support for LPECs, fixed bunch of bugs, improved random benachmark, added support for MX (if problem is in vertical form), improved checks of stationary points, added lot more statistics in the benchmarks, and bunch of other stuff.

…infrastructure, correct early termination in phase I
@nosnoc-ci-bot
Copy link

nosnoc-ci-bot commented Sep 23, 2025

Summary - mpecopt coverage

Summary
Generated on: 09/24/2025 - 09:08:04
Coverage date: 09/24/2025 - 09:07:43
Parser: Cobertura
Assemblies: 2
Classes: 51
Files: 51
Line coverage: 28.1% (1265 of 4491)
Covered lines: 1265
Uncovered lines: 3226
Coverable lines: 4491
Total lines: 7222
Covered branches: 0
Total branches: 0
Method coverage: Feature is only available for sponsors
Tag: 30_17971852386

Coverage

- 13.1%
Name Line Branch
**** 13.1% ****
addaptive_active_set_identification 0%
BNLPProjectionStrategy
check_feasiblity_of_lpec 0%
check_if_B_stationary 0%
create_comparison_table 0%
create_lpec_functions 100%
create_lpec_subproblem 48.9%
create_mpec_functions 68.7%
create_phase_i_nlp_solver 0%
create_phase_i_nlp_solver_dev 0%
determine_multipliers_based_stationary_point 20.4%
fast_B_stationarity_check 0%
find_active_sets 100%
find_active_sets_piece_nlp 68%
find_nonscalar 68.7%
HomotopySolverOptions 100%
HomotopySteering
InitializationStrategy
latexify_plot 0%
lpec_fallback_strategy 0%
lpec_fallback_strategy_phase_ii 0%
lpec_solver 20.7%
LpecSolver
LPECSolverOptions 100%
MINLPSolverOptions 0%
mpec_active_set_generate_problem_functions 0%
mpec_active_set_nosnoc 0%
mpec_active_set_preprocess 0%
mpec_homotopy_solver 0%
mpec_minlp_solver 0%
mpec_optimizer 0%
mpecopt_phase_ii 0%
nice_plot_colors 0%
PieceNLPStartegy
plot_lpec 0%
print_iter_details 0%
print_iter_header 100%
print_iter_header_objective 0%
print_iter_line 100%
print_iter_line_objective 0%
print_iter_stats 91.6%
print_iter_stats_objective 0%
print_iter_summary 100%
print_iter_summary_minlp 0%
print_iter_summary_scholtes 0%
print_phase_i 100%
print_phase_ii 100%
project_to_bounds 100%
unfold_struct 0%
mpecopt - 61.7%
Name Line Branch
mpecopt 61.7% ****
mpecopt.Options 100%
mpecopt.Solver 61.1%

Copy link
Member

@apozharski apozharski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but remove the *.txt 😅

@@ -0,0 +1 @@
nonlinear_mpec2_EDENSCH_Var80_Comp32_Eq32_Ineq34
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably remove this

@@ -0,0 +1,19 @@
MPECopt-Reg-Gurobi - execution time: 106.16 seconds (0.0295 hours, 0.001229 days)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this too.

@@ -0,0 +1 @@
nonlinear_mpec2_McCormick_Var1725_Comp690_Eq690_Ineq1030
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And this :)

% change some settings
solver_settings.settings_lpec.lpec_solver = 'Highs_casadi' ; % 'Gurobi'; for best perfomance; 'Highs_casadi' - via CasADi conic
solver_settings.settings_casadi_nlp.ipopt.linear_solver = 'mumps'; % 'ma27' for better perfomance
solver_settings.settings_lpec.lpec_solver = 'Gurobi' ; % 'Gurobi'; for best perfomance; 'Highs_casadi' - via CasADi conic
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably don't want to default to closed source solvers :)

@nurkanovic nurkanovic merged commit 85b5b5c into main Sep 24, 2025
6 of 12 checks passed
@nurkanovic nurkanovic deleted the mpecopt_edits branch September 24, 2025 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants