Published February 5, 2020 | Version v1
Software Open

Codes for "Primal–dual proximal splitting and generalized conjugation in non-smooth non-convex optimization"

  • 1. University Duisburg-Essen
  • 2. Masaryk University§
  • 3. University of Helsinki

Description

GPDPS

GPDPS is a Julia package that provides the reference implementation of the generalized primal-dual proximal splitting approach described in the paper "Primal-dual proximal splitting and generalized conjugation in non-smooth non-convex optimization" by Christian Clason, Stanislav Mazurenko, and Tuomo Valkonen.

Usage

To use the provided test codes (compatible with Julia version 1.0-1.2, tested on macOS and Linux x86_64):

  • start Julia from this directory with julia --project=. (or with the relative path to the GPDPS.jl directory from somewhere else)
  • do ]instantiate to download all dependencies (only required the first time, make sure you go back to standard Julia prompt with backspace afterwards)
  • (highly recommended: using Revise so you can make changes in the code without having to restart Julia; if not install, start julia (without --project) and ]add Revise)
  • load the package with using GPDPS

To run the example for the elliptic Nash equilibrium problem:

  • do test_enep(N), where N controls the discretization (number of nodes per coordinate, default N=128)

To run the example for the Huber-Potts segmentation model:

  • do test_potts(alpha,gamma,keyword=value), where keyword is one or more of the following (comma separated, order insensitive, may be removed before submission) with default value if omitted:

  • image: test image; default is "blobs" (size 256x254), other images in .tif format can be specified by file name if placed in the img folder

  • isotropic: use isotropic (value true, default) or anisotropic (value `false)` Potts model

  • maxit: maximum number of iterations (default 500000)

If alpha or gamma are not specified, the default values 1 and 1e-3 are used.

Possible issues:

  • on macOS, it may also be required to ]add QuartzImageIO if it is not included in the default environment.

Development

This code can also be found at https://github.com/clason/GPDPS.jl

Reference

If you find this code useful, you can cite the paper as

@article{GPDPS,
    author = {Clason, Christian and Mazurenko, Stanislav and Valkonen, Tuomo},
    title = {Primal-dual proximal splitting and generalized conjugation in non-smooth non-convex optimization},
    year = {2019},
    eprinttype = {arxiv},
    eprint = {1901.02746},
}

Files

GPDPS.jl.zip

Files (34.9 kB)

Name Size Download all
md5:342f395473b7e0e3cf16d04ae7efff12
34.9 kB Preview Download

Additional details

Related works

Is cited by
Journal article: 10.1007/s00245-020-09676-1 (DOI)
Preprint: arXiv:1901.02746 (arXiv)

Funding

PARTIAL Analysis of Relations in Tasks of Inversion for Algorithmic Leverage EP/P021298/1
UK Research and Innovation