A Sparse Smoothing Newton Method for Solving Discrete Optimal Transport Problems
Abstract
1 Introduction
2 Preliminary
2.1 Primal-Dual IPMs
2.2 The SSN Method
3 An SqSN Method
3.1 The Huber Smoothing Function
3.2 The Main Algorithm
3.3 Convergence Properties of Algorithm 1
4 Extension to the WB Problem
4.1 Problem Statement
4.2 Newton Equations
5 Numerical Experiments
5.1 Experimental Settings
5.2 Computational Results on DOTmark for OT Problems
Resolution | #constraints | #variables |
---|---|---|
\(32\times 32\) | 2,048 | 1,048,576 |
\(64\times 64\) | 8,192 | 16,777,216 |
\(128\times 128\) | 32,768 | 268,435,456 |
Image | Solver | Time (s) | Iter | \(\eta_{p}\) | \(\eta_{d}\) | \(\eta_{c}\) | \(\eta_{g}\) |
---|---|---|---|---|---|---|---|
CauchyDensity | HiGHS | 5.0e\(+\)02 | 29 | 2.3e\(-\)06 | 8.2e\(-\)10 | 2.1e\(-\)10 | 1.8e\(-\)06 |
Gurobi | 3.0e\(+\)02 | 16 | 5.7e\(-\)11 | 1.6e\(-\)16 | 2.7e\(-\)09 | 2.2e\(-\)09 | |
CPLEX-Bar | 6.0e\(+\)02 | 26 | 1.5e\(-\)10 | 3.4e\(-\)16 | 1.3e\(-\)10 | 1.5e\(-\)09 | |
CPLEX-Net | 3.6e\(+\)01 | - | 1.3e\(-\)18 | 6.2e\(-\)17 | 0.0e\(+\)00 | 7.6e\(-\)18 | |
SmoothNewton | 7.8e\(+\)01 | 57 | 3.1e\(-\)12 | 0.0e\(+\)00 | 3.9e\(-\)09 | 4.9e\(-\)09 | |
GRFmoderate | HiGHS | 4.4e\(+\)02 | 27 | 1.1e\(-\)02 | 9.0e\(-\)02 | 8.4e\(-\)10 | 1.7e\(-\)02 |
Gurobi | 2.8e\(+\)02 | 15 | 2.5e\(-\)12 | 1.5e\(-\)16 | 1.6e\(-\)09 | 1.8e\(-\)09 | |
CPLEX-Bar | 5.9e\(+\)02 | 25 | 5.2e\(-\)10 | 3.1e\(-\)15 | 3.4e\(-\)10 | 5.8e\(-\)09 | |
CPLEX-Net | 3.3e\(+\)01 | - | 6.8e\(-\)19 | 4.6e\(-\)17 | 0.0e\(+\)00 | 2.6e\(-\)18 | |
SmoothNewton | 7.1e\(+\)01 | 54 | 1.3e\(-\)12 | 0.0e\(+\)00 | 3.2e\(-\)09 | 4.9e\(-\)09 | |
GRFsmooth | HiGHS | 4.6e\(+\)02 | 28 | 1.8e\(-\)06 | 1.5e\(-\)12 | 7.5e\(-\)10 | 1.1e\(-\)06 |
Gurobi | 3.0e\(+\)02 | 16 | 1.3e\(-\)11 | 1.6e\(-\)16 | 2.8e\(-\)09 | 2.9e\(-\)09 | |
CPLEX-Bar | 6.2e\(+\)02 | 27 | 4.4e\(-\)10 | 3.0e\(-\)15 | 4.6e\(-\)10 | 4.8e\(-\)09 | |
CPLEX-Net | 3.8e\(+\)01 | - | 7.5e\(-\)19 | 5.6e\(-\)17 | 0.0e\(+\)00 | 3.1e\(-\)18 | |
SmoothNewton | 7.8e\(+\)01 | 58 | 1.9e\(-\)12 | 0.0e\(+\)00 | 3.0e\(-\)09 | 5.0e\(-\)09 | |
LogitGRF | HiGHS | 5.2e\(+\)02 | 30 | 1.8e\(-\)05 | 1.2e\(-\)12 | 6.4e\(-\)10 | 2.2e\(-\)05 |
Gurobi | 3.0e\(+\)02 | 16 | 2.7e\(-\)12 | 1.5e\(-\)16 | 2.4e\(-\)09 | 2.6e\(-\)09 | |
CPLEX-Bar | 6.8e\(+\)02 | 30 | 3.6e\(-\)10 | 2.4e\(-\)15 | 4.1e\(-\)10 | 2.9e\(-\)09 | |
CPLEX-Net | 3.5e\(+\)01 | - | 9.1e\(-\)19 | 5.0e\(-\)17 | 0.0e\(+\)00 | 2.9e\(-\)18 | |
SmoothNewton | 7.7e\(+\)01 | 59 | 1.3e\(-\)12 | 0.0e\(+\)00 | 3.3e\(-\)09 | 5.1e\(-\)09 | |
Shapes | HiGHS | 9.2e\(+\)01 | 21 | 6.4e\(-\)07 | 1.6e\(-\)09 | 3.1e\(-\)10 | 7.0e\(-\)08 |
Gurobi | 6.2e\(+\)01 | 13 | 1.7e\(-\)11 | 9.2e\(-\)15 | 4.2e\(-\)10 | 1.8e\(-\)09 | |
CPLEX-Bar | 1.0e\(+\)02 | 20 | 7.8e\(-\)10 | 9.6e\(-\)16 | 2.4e\(-\)10 | 4.5e\(-\)09 | |
CPLEX-Net | 7.5e\(+\)00 | - | 3.3e\(-\)18 | 3.8e\(-\)17 | 0.0e\(+\)00 | 8.2e\(-\)18 | |
SmoothNewton | 2.1e\(+\)01 | 52 | 6.3e\(-\)11 | 0.0e\(+\)00 | 8.8e\(-\)09 | 3.6e\(-\)09 | |
ClassicImages | HiGHS | 5.1e\(+\)02 | 30 | 1.4e\(-\)06 | 1.0e\(-\)09 | 2.2e\(-\)10 | 2.5e\(-\)08 |
Gurobi | 3.0e\(+\)02 | 15 | 2.6e\(-\)12 | 1.4e\(-\)16 | 3.2e\(-\)09 | 2.5e\(-\)09 | |
CPLEX-Bar | 5.9e\(+\)02 | 25 | 2.3e\(-\)10 | 2.0e\(-\)15 | 1.7e\(-\)10 | 2.4e\(-\)09 | |
CPLEX-Net | 3.5e\(+\)01 | - | 7.6e\(-\)19 | 4.1e\(-\)17 | 0.0e\(+\)00 | 2.0e\(-\)18 | |
SmoothNewton | 7.1e\(+\)01 | 55 | 1.2e\(-\)12 | 0.0e\(+\)00 | 3.2e\(-\)09 | 5.0e\(-\)09 | |
GRFrough | HiGHS | 4.9e\(+\)02 | 29 | 5.5e\(-\)04 | 2.0e\(-\)02 | 5.6e\(-\)10 | 6.1e\(-\)04 |
Gurobi | 2.9e\(+\)02 | 15 | 1.5e\(-\)12 | 1.4e\(-\)16 | 1.8e\(-\)09 | 2.2e\(-\)09 | |
CPLEX-Bar | 5.6e\(+\)02 | 24 | 2.5e\(-\)10 | 6.1e\(-\)15 | 5.0e\(-\)10 | 3.5e\(-\)09 | |
CPLEX-Net | 3.4e\(+\)01 | - | 7.3e\(-\)19 | 2.5e\(-\)17 | 0.0e\(+\)00 | 5.7e\(-\)19 | |
SmoothNewton | 7.4e\(+\)01 | 56 | 8.8e\(-\)13 | 0.0e\(+\)00 | 2.7e\(-\)09 | 4.9e\(-\)09 | |
LogGRF | HiGHS | 9.1e\(+\)02 | 47 | 2.1e\(-\)03 | 5.5e\(-\)02 | 8.9e\(-\)10 | 5.3e\(-\)03 |
Gurobi | 3.1e\(+\)02 | 16 | 3.0e\(-\)12 | 1.7e\(-\)16 | 1.5e\(-\)09 | 2.3e\(-\)09 | |
CPLEX-Bar | 5.9e\(+\)02 | 25 | 4.7e\(-\)10 | 1.9e\(-\)14 | 5.4e\(-\)10 | 6.1e\(-\)09 | |
CPLEX-Net | 4.4e\(+\)01 | - | 1.6e\(-\)18 | 6.3e\(-\)17 | 0.0e\(+\)00 | 8.7e\(-\)18 | |
SmoothNewton | 7.6e\(+\)01 | 58 | 3.2e\(-\)12 | 0.0e\(+\)00 | 3.8e\(-\)09 | 5.1e\(-\)09 | |
MicroscopyImages | HiGHS | 1.1e\(+\)02 | 40 | 1.1e\(-\)06 | 3.0e\(-\)09 | 3.6e\(-\)10 | 8.7e\(-\)08 |
Gurobi | 3.7e\(+\)01 | 15 | 3.6e\(-\)12 | 1.5e\(-\)16 | 5.3e\(-\)09 | 1.2e\(-\)09 | |
CPLEX-Bar | 6.1e\(+\)01 | 25 | 6.6e\(-\)10 | 1.1e\(-\)14 | 4.6e\(-\)10 | 3.4e\(-\)09 | |
CPLEX-Net | 4.1e\(+\)00 | - | 3.6e\(-\)18 | 5.1e\(-\)17 | 0.0e\(+\)00 | 6.4e\(-\)18 | |
SmoothNewton | 9.8e\(+\)00 | 46 | 1.2e\(-\)10 | 0.0e\(+\)00 | 9.1e\(-\)09 | 2.0e\(-\)09 | |
WhiteNoise | HiGHS | 4.8e\(+\)02 | 27 | 1.0e\(-\)02 | 9.5e\(-\)02 | 5.0e\(-\)10 | 6.4e\(-\)03 |
Gurobi | 3.0e\(+\)02 | 16 | 8.4e\(-\)13 | 1.4e\(-\)16 | 1.8e\(-\)09 | 1.9e\(-\)09 | |
CPLEX-Bar | 6.1e\(+\)02 | 27 | 3.4e\(-\)10 | 4.3e\(-\)15 | 5.2e\(-\)10 | 4.5e\(-\)09 | |
CPLEX-Net | 3.5e\(+\)01 | - | 1.1e\(-\)18 | 1.6e\(-\)17 | 0.0e\(+\)00 | 2.8e\(-\)19 | |
SmoothNewton | 6.9e\(+\)01 | 56 | 7.9e\(-\)13 | 0.0e\(+\)00 | 3.3e\(-\)09 | 5.1e\(-\)09 |
Image | Time (s) | Iter | \(\eta_{p}\) | \(\eta_{d}\) | \(\eta_{c}\) | \(\eta_{g}\) |
---|---|---|---|---|---|---|
CauchyDensity | 2.21e\(+\)03 | 96 | 1.1e\(-\)12 | 0.0e\(+\)00 | 2.8e\(-\)09 | 3.4e\(-\)09 |
GRFmoderate | 2.17e\(+\)03 | 97 | 6.8e\(-\)13 | 0.0e\(+\)00 | 4.0e\(-\)10 | 5.4e\(-\)09 |
GRFsmooth | 2.18e\(+\)03 | 93 | 8.7e\(-\)13 | 0.0e\(+\)00 | 3.7e\(-\)09 | 5.2e\(-\)09 |
LogitGRF | 1.85e\(+\)03 | 86 | 8.0e\(-\)13 | 0.0e\(+\)00 | 4.1e\(-\)10 | 5.6e\(-\)09 |
Shapes | 4.92e\(+\)02 | 48 | 3.1e\(-\)12 | 0.0e\(+\)00 | 2.6e\(-\)09 | 4.1e\(-\)09 |
ClassicImages | 2.22e\(+\)03 | 101 | 6.4e\(-\)13 | 0.0e\(+\)00 | 4.3e\(-\)10 | 5.7e\(-\)09 |
GRFrough | 2.30e\(+\)03 | 97 | 7.6e\(-\)13 | 0.0e\(+\)00 | 4.4e\(-\)10 | 5.8e\(-\)09 |
LogGRF | 2.28e\(+\)03 | 108 | 9.2e\(-\)13 | 0.0e\(+\)00 | 4.1e\(-\)10 | 5.5e\(-\)09 |
MicroscopyImages | 5.74e\(+\)02 | 88 | 1.4e\(-\)12 | 0.0e\(+\)00 | 1.2e\(-\)09 | 5.4e\(-\)09 |
WhiteNoise | 2.21e\(+\)03 | 99 | 8.0e\(-\)13 | 0.0e\(+\)00 | 4.4e\(-\)10 | 5.3e\(-\)09 |
Image | Resolution | HiGHS | Gurobi | CPLEX-Bar | CPLEX-Net | SmoothNewton |
---|---|---|---|---|---|---|
CauchyDensity | \(64\times 64\) | 22282 | 22604 | 19489 | 20224 | 3456 |
GRFmoderate | \(64\times 64\) | 22281 | 22503 | 19500 | 20227 | 3751 |
GRFsmooth | \(64\times 64\) | 22281 | 24152 | 19486 | 20225 | 3550 |
LogitGRF | \(64\times 64\) | 22331 | 21639 | 19492 | 20217 | 3850 |
Shapes | \(64\times 64\) | 7524 | 9236 | 9515 | 8924 | 2254 |
ClassicImages | \(64\times 64\) | 22282 | 21668 | 19470 | 20228 | 3744 |
GRFrough | \(64\times 64\) | 22281 | 24155 | 19499 | 20237 | 3541 |
LogGRF | \(64\times 64\) | 22330 | 24158 | 19491 | 20226 | 3803 |
MicroscopyImages | \(64\times 64\) | 2632 | 3049 | 2305 | 2471 | 919 |
WhiteNoise | \(64\times 64\) | 22282 | 24158 | 19489 | 20229 | 3572 |
5.3 Computational Results on Real Data for WB Problems
Database | N | Resolution | #constraints | #variables |
---|---|---|---|---|
MNIST | 10 | \(28\times 28\) | 15680 | 6,147,344 |
Car | 10 | \(32\times 32\) | 20480 | 10,486,784 |
Duck | 10 | \(32\times 32\) | 20480 | 10,486,784 |
Pig | 10 | \(32\times 32\) | 20480 | 10,486,784 |
Yale01 | 10 | \(30\times 40\) | 24000 | 14,401,200 |
Yale02 | 10 | \(36\times 48\) | 34560 | 29,861,568 |
Yale03 | 10 | \(54\times 72\) | 77760 | 151,169,328 |
Image | Solver | Time(s) | Iter | \(\eta_{p}\) | \(\eta_{d}\) | \(\eta_{c}\) | \(\eta_{g}\) |
---|---|---|---|---|---|---|---|
MNIST | Gurobi-Spx | 4.9e \(+\) 01 | 103,070 | 2.8e \(-\) 16 | 8.1e \(-\) 17 | 7.3e \(-\) 19 | 3.5e \(-\) 18 |
Gurobi-Bar | 1.1e \(+\) 02 | 30 | 5.0e \(-\) 11 | 5.1e \(-\) 15 | 6.1e \(-\) 11 | 1.2e \(-\) 09 | |
SmoothNewton | 1.3e \(+\) 01 | 91 | 1.3e \(-\) 13 | 0.0e \(+\) 00 | 2.1e \(-\) 10 | 8.2e \(-\) 09 | |
Car | Gurobi-Spx | 1.2e \(+\) 02 | 38,608 | 1.6e \(-\) 16 | 3.0e \(-\) 17 | 2.0e \(-\) 19 | 1.7e \(-\) 18 |
Gurobi-Bar | 2.2e \(+\) 02 | 33 | 8.6e \(-\) 12 | 8.4e \(-\) 14 | 6.7e \(-\) 13 | 6.1e \(-\) 11 | |
SmoothNewton | 2.6e \(+\) 01 | 111 | 6.2e \(-\) 14 | 0.0e \(+\) 00 | 1.6e \(-\) 11 | 6.2e \(-\) 10 | |
Duck | Gurobi-Spx | 3.2e \(+\) 02 | 536,738 | 2.6e \(-\) 16 | 8.2e \(-\) 17 | 1.8e \(-\) 11 | 5.1e \(-\) 18 |
Gurobi-Bar | 2.6e \(+\) 02 | 43 | 3.0e \(-\) 11 | 4.0e \(-\) 15 | 1.6e \(-\) 13 | 2.5e \(-\) 12 | |
SmoothNewton | 2.6e \(+\) 01 | 100 | 4.5e \(-\) 13 | 0.0e \(+\) 00 | 2.7e \(-\) 10 | 9.1e \(-\) 09 | |
Pig | Gurobi-Spx | 5.5e \(+\) 02 | 1,306,882 | 1.6e \(-\) 16 | 8.0e \(-\) 17 | 4.2e \(-\) 18 | 1.7e \(-\) 17 |
Gurobi-Bar | 2.4e \(+\) 02 | 38 | 3.8e \(-\) 11 | 5.2e \(-\) 14 | 4.4e \(-\) 12 | 7.4e \(-\) 09 | |
SmoothNewton | 2.3e \(+\) 01 | 96 | 1.2e \(-\) 12 | 0.0e \(+\) 00 | 1.8e \(-\) 10 | 8.9e \(-\) 09 | |
Yale01 | Gurobi-Spx | 3.7e \(+\) 03 | 6,126,017 | 1.9e \(-\) 16 | 8.7e \(-\) 17 | 3.1e \(-\) 17 | 1.9e \(-\) 17 |
Gurobi-Bar | 3.0e \(+\) 02 | 32 | 3.6e \(-\) 11 | 1.1e \(-\) 15 | 4.1e \(-\) 10 | 8.3e \(-\) 09 | |
SmoothNewton | 3.1e \(+\) 01 | 97 | 7.0e \(-\) 13 | 0.0e \(+\) 00 | 1.6e \(-\) 10 | 6.6e \(-\) 09 | |
Yale02 | Gurobi-Spx | 2.0e \(+\) 04 | 18,892,197 | 2.6e \(-\) 16 | 8.5e \(-\) 17 | 1.9e \(-\) 11 | 2.5e \(-\) 17 |
Gurobi-Bar | 2.1e \(+\) 03 | 45 | 1.4e \(-\) 10 | 1.3e \(-\) 13 | 2.2e \(-\) 11 | 5.3e \(-\) 09 | |
SmoothNewton | 1.8e \(+\) 02 | 115 | 1.0e \(-\) 12 | 0.0e \(+\) 00 | 1.7e \(-\) 10 | 9.7e \(-\) 09 | |
Yale03 | Gurobi-Spx | (exceed 24 hours) | - | - | - | - | |
Gurobi-Bar | 3.3e \(+\) 04 | 26 | 1.9e \(-\) 13 | 2.4e \(-\) 12 | 4.1e \(-\) 14 | 2.2e \(-\) 09 | |
SmoothNewton | 2.5e \(+\) 03 | 177 | 2.3e \(-\) 13 | 0.0e \(+\) 00 | 1.2e \(-\) 10 | 8.6e \(-\) 09 |
6 Conclusions
Acknowledgment
Footnotes
References
Appendix A Proofs
Index Terms
- A Sparse Smoothing Newton Method for Solving Discrete Optimal Transport Problems
Recommendations
A smoothing Newton method for a type of inverse semi-definite quadratic programming problem
We consider an inverse problem arising from the semi-definite quadratic programming (SDQP) problem. We represent this problem as a cone-constrained minimization problem and its dual (denoted ISDQD) is a semismoothly differentiable (SC^1) convex ...
A Smoothing Newton Method for General Nonlinear Complementarity Problems
Smoothing Newton methods for nonlinear complementarity problems NCP(F) often require F to be at least a P0-function in order to guarantee that the underlying Newton equation is solvable. Based on a special equation reformulation of NCP(F), we propose a ...
Quadratic one-step smoothing Newton method for P0-LCP without strict complementarity
In this paper we propose a modified one-step smoothing Newton method for solving the P"0 linear complementarity problem (P"0-LCP) based on Kanzow's smoothing function. Our smoothing Newton method solves only one linear system of equations and performs ...
Comments
Please enable JavaScript to view thecomments powered by Disqus.Information & Contributors
Information
Published In
Publisher
Association for Computing Machinery
New York, NY, United States
Publication History
Check for updates
Author Tags
Qualifiers
- Research-article
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 411Total Downloads
- Downloads (Last 12 months)411
- Downloads (Last 6 weeks)199
Other Metrics
Citations
View Options
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in