Skip to content

Commit d073478

Browse files
committed
Add support to qps_gurobi() for Gurobi's PDHG algorithm.
1 parent a49b0c2 commit d073478

4 files changed

Lines changed: 14 additions & 3 deletions

File tree

CHANGES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ Change history for MP-Opt-Model
55
since version 5.0
66
-----------------
77

8+
9+
#### 12/10/25
10+
- Add support for the Gurobi's new PDHG LP solver in `qps_gurobi()`.
11+
812
#### 11/14/25
913
- Add support for the new HiPO interior point LP solver in HiGHS, including
1014
`have_feature_highs_hipo()` to detect availability.

docs/src/MP-Opt-Model-manual/MP-Opt-Model-manual.tex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6724,6 +6724,7 @@ \subsubsection*{New Features}
67246724
\item New \code{fix\_integer} option for \code{miqps\_master()} and \code{mp.opt\_model.solve()}. Set to true to fix any integer variables to their initial values, as specified in \code{x0} or \code{opt.x0}.
67256725
\item Add \code{relax\_integer} option to \code{miqps\_master()} and move the implementation from \code{mp.opt\_model.solve()}.
67266726
\item Support for the new HiPO interior point LP solver in the \highs{} optimizer.
6727+
\item Support for the new PDHG LP solver in \gurobi{}.
67276728
\item New functions:
67286729
\begin{itemize}
67296730
\item \code{have\_feature\_highs\_hipo()} feature detection function for HiPO solver in \highs{} optimizer.

lib/mpomver.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
v = struct( 'Name', 'MP-Opt-Model', ...
2727
'Version', '5.1-dev', ...
2828
'Release', '', ...
29-
'Date', '14-Nov-2025' );
29+
'Date', '10-Dec-2025' );
3030
if nargout > 0
3131
if nargin > 0
3232
rv = v;

lib/qps_gurobi.m

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,11 +237,17 @@
237237
'interior point',
238238
'concurrent',
239239
'deterministic concurrent',
240-
'deterministic concurrent simplex'
240+
'deterministic concurrent simplex',
241+
'PDHG'
241242
};
242243
vn = gurobiver;
244+
if length(alg_names) >= g_opt.Method+2
245+
alg_name = alg_names{g_opt.Method+2};
246+
else
247+
alg_name = 'unknown';
248+
end
243249
fprintf('Gurobi Version %s -- %s %s solver\n', ...
244-
vn, alg_names{g_opt.Method+2}, lpqp);
250+
vn, alg_name, lpqp);
245251
end
246252
results = gurobi(m, g_opt);
247253
switch results.status

0 commit comments

Comments
 (0)