/NSOCP

This repository contains an open-source Matlab Solver Package FDIPA-SOC that implements an interior point algorithm to solve numerically the problem of finding the minimum of a nonlinear second order cone problem. .

Primary LanguageMATLABGNU General Public License v3.0GPL-3.0

MATLAB Toolbox for fdipa, feasible direction interior-point algorithm

MATLAB library to find minimum of nonlinear second-order cone programming problem, using the feasible direction interior-point algorithm (fdipa) as presented in [1].

Download

Option 1: From a MATLAB command prompt run:

git clone https://github.com/fdipaSOC/NSOCP

Option 2: run script "fdipa_setup.m" included in the library folder

Install in MATLAB

From a MATLAB command window:

addpath( genpath('AbsolutePathToToolbox') )

where AbsolutePathToToolbox is the name of the absolute path where you cloned this toolbox. Adding this command to your MATLAB startup.m file will make sure these tools are avalible every time you use MATLAB.

Contents

The scripts are organized in the following folders:

  • fdipa: source files for fdipa algorithm.
    • fdipa/fdipa.m: solves a random linear programming problem using either interface.
    • fdipa/fdipaQuad.m: solves a random linear programming problem using either interface.
  • documentation: source files for the documentation
  • example1_dist_ellip: application of fdipaQuad to the problem of distance between two ellipses.
  • example2_rotated_conic: example of a quadratic objective with rotated conic constraints.
  • example3_quadratic: example of application of fdipaQuad to a quadratic problem with linear cone constraints.
  • example4_miao: Miao-Chen-Ko example of nonlinear convex programs with second-order cone constraints as presented in [3].
  • example5_hyf_nonlinear: Example of nonlinear problem with linear constraints used in Example 4.2 of [4] (also used in Ex. 5.3 of [3]).
  • example6_kato: Kato-Fukushima example of for nonlinear second-order cone programs as presented in [2].
  • example7_svm: Application to support vector machines (Requires CVX).

Additional examples

  • example8_cubic: example of cubic objective function with linear constraints.

Citing

This repository has been developed as part of the following article (citation given below). We would appreciate it if you would please cite the following paper if you found the library useful for your work.

@article{fdipa2024,
    title = {FDIPA-SOC: A MATLAB Package for Nonlinear Second-Order Cone Programs},
    author = {Canelas, A. and Carrasco, M and L\'opez, J and Paduro, E.},
    journal = {2024},
    volume = {},
    pages = {},
    year = {},
    publisher={},
    doi = {},
    url = {}
}

References

[1] Alfredo Canelas, Miguel Carrasco & Julio Lopez (2019) A feasible direction algorithm for nonlinear second-order cone programs, Optimization Methods and Software, 34:6, 1322-1341, https://doi.org/10.1080/10556788.2018.1506452

[2] Kato, H., Fukushima, M. An SQP-type algorithm for nonlinear second-order cone programs. Optimization Letters 1, 129–144 (2007). https://doi.org/10.1007/s11590-006-0009-2

[3] Xinhe Miao, Jein-Shan Chen, Chun-Hsu Ko. A smoothed NR neural network for solving nonlinear convex programs with second-order cone constraints, Information Sciences, Volume 268, 2014, p 255-270, https://doi.org/10.1016/j.ins.2013.10.017

[4] C. Kanzow, I. Ferenczi, and M. Fukushima. On the local convergence of semismooth newton methods for linear and nonlinear second-order cone programs without strict complementarity. SIAM J. Optim., 20(1):297-320, 2009. https://doi.org/10.1137/060657662

License

GPLv3