Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ jobs:
strategy:
fail-fast: false
matrix:
version: ['1.0', '1'] # Test against LTS
version: ['1.6', '1'] # Test against LTS
os: [ubuntu-latest, macOS-latest, windows-latest]
arch: [x64]
include:
# Also test against 32-bit Linux on LTS.
- version: '1'
- version: '1.6'
os: ubuntu-latest
arch: x86
steps:
Expand Down
9 changes: 2 additions & 7 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,22 +1,17 @@
name = "CSDP"
uuid = "0a46da34-8e4b-519e-b418-48813639ff34"
repo = "https://github.com/jump-dev/CSDP.jl.git"
version = "0.7.3"
version = "1.0.0"

[deps]
BinaryProvider = "b99e7846-7c00-51b0-8f62-c81ae34c0232"
CSDP_jll = "9ce75daa-2788-5e2c-ba1d-cf8c48367b27"
Glob = "c27321d9-0574-5035-807b-f59d2c89b15c"
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"

[compat]
BinaryProvider = "0.5.9"
CSDP_jll = "=6.2.0, =600.200.1"
Glob = "1.2"
MathOptInterface = "0.10"
MathOptInterface = "1"
julia = "1"

[extras]
Expand Down
47 changes: 20 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,44 +2,42 @@

![](https://www.coin-or.org/wordpress/wp-content/uploads/2014/08/COINOR.png)

`CSDP.jl` is an interface to the **[COIN-OR SemiDefinite
Programming](https://projects.coin-or.org/Csdp)** solver. It provides a complete
interface to the low-level C API, as well as an implementation of the
solver-independent `MathProgBase` and `MathOptInterface` API's.
[![Build Status](https://github.com/jump-dev/CSDP.jl/workflows/CI/badge.svg?branch=master)](https://github.com/jump-dev/CSDP.jl/actions?query=workflow%3ACI)
[![codecov](https://codecov.io/gh/jump-dev/CSDP.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/jump-dev/CSDP.jl)

`CSDP.jl` is a wrapper for the [COIN-OR SemiDefinite Programming](https://projects.coin-or.org/Csdp)
solver.

The wrapper has two components:
* a thin wrapper around the low-level C API
* an interface to [MathOptInterface](https://github.com/jump-dev/MathOptInterface.jl)

*Note: This wrapper is maintained by the JuMP community and is not a COIN-OR
project.*

| **Build Status** |
|:----------------:|
| [![Build Status][build-img]][build-url] |
| [![Codecov branch][codecov-img]][codecov-url] |

The original algorithm is described by
B. Borchers.
*CSDP, A C Library for Semidefinite Programming*.
The original algorithm is described by B. Borchers.
_CSDP, A C Library for Semidefinite Programming_.
Optimization Methods and Software 11(1):613-623, 1999.
DOI [10.1080/10556789908805765](http://dx.doi.org/10.1080/10556789908805765).
[Preprint](http://euler.nmt.edu/~brian/csdppaper.pdf).

## Installation

The package can be installed with `Pkg.add`.

```
julia> import Pkg; Pkg.add("CSDP")
Install CSDP using `Pkg.add`:
```julia
import Pkg; Pkg.add("CSDP")
```

CSDP.jl will use [BinaryProvider.jl](https://github.com/JuliaPackaging/BinaryProvider.jl) to automatically install the CSDP binaries. This should work for both the [official Julia binaries](https://julialang.org/downloads) and source-builds.
In addition to installing the CSDP.jl package, this will also download and
install the CSDP binaries. (You do not need to install CSDP separately.)

### Using with **[JuMP]**
[JuMP]: https://github.com/jump-dev/JuMP.jl
## Use with JuMP

We highly recommend that you use the *CSDP.jl* package with higher level
packages such as [CSDP.jl](https://github.com/jump-dev/CSDP.jl).

This can be done using the ``CSDP.Optimizer`` object. Here is how to create a
*JuMP* model that uses CSDP as the solver.
To use CSDP with [JuMP](https://github.com/jump-dev/JuMP.jl), use
`CSDP.Optimizer`:
```julia
using JuMP, CSDP

Expand Down Expand Up @@ -114,7 +112,7 @@ If the `printlevel` option is at least `1`, the following will be printed:

## Options

The CSDP options are listed in the table below. Their value can be specified in the constructor of the CSDP solver, e.g. `CSDPSolver(axtol=1e-7, printlevel=0)`.
The CSDP options are listed in the table below.

Name | | Default Value |
------------ | ----------------------------------- | -------------- |
Expand All @@ -134,8 +132,3 @@ Name |
`perturbobj` | The `perturbobj` parameter determines whether the objective function will be perturbed to help deal with problems that have unbounded optimal solution sets. If `perturbobj` is `0`, then the objective will not be perturbed. If `perturbobj` is `1`, then the objective function will be perturbed by a default amount. Larger values of `perturbobj` (e.g. `100`) increase the size of the perturbation. This can be helpful in solving some difficult problems. | `1` |
`fastmode` | The `fastmode` parameter determines whether or not CSDP will skip certain time consuming operations that slightly improve the accuracy of the solutions. If `fastmode` is set to `1`, then CSDP may be somewhat faster, but also somewhat less accurate | `0` |
`printlevel` | The `printlevel` parameter determines how much debugging information is output. Use a `printlevel` of `0` for no output and a `printlevel` of `1` for normal output. Higher values of printlevel will generate more debugging output | `1` |

[build-img]: https://github.com/jump-dev/CSDP.jl/workflows/CI/badge.svg?branch=master
[build-url]: https://github.com/jump-dev/CSDP.jl/actions?query=workflow%3ACI
[codecov-img]: http://codecov.io/github/jump-dev/CSDP.jl/coverage.svg?branch=master
[codecov-url]: http://codecov.io/github/jump-dev/CSDP.jl?branch=master
8 changes: 0 additions & 8 deletions deps/.gitignore

This file was deleted.

1 change: 0 additions & 1 deletion deps/.unittest.sh

This file was deleted.

27 changes: 0 additions & 27 deletions deps/build.jl

This file was deleted.

100 changes: 0 additions & 100 deletions deps/build_CSDP.v6.2.0.jl

This file was deleted.

Loading