-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: break everything, new docs #173
Closed
+2,515
−357
Closed
Changes from 71 commits
Commits
Show all changes
99 commits
Select commit
Hold shift + click to select a range
869d850
begin rewrite of docs, big changes to SolverInterface
mlubin 7cce014
more work
mlubin c7234e7
beginning of sets
mlubin 8f0662b
argument naming
mlubin 514810c
more coherent interface
mlubin 32c68f0
tidy notation
mlubin 855cd86
variable bounds and variable constraints
mlubin dbf2b42
Added draft documentation with documenter
tazz0416 9e72b7f
Added draft documentation with documenter
tazz0416 cbf0d04
variable and constraint references
mlubin 5bfd73f
Minor fix for latex support
tazz0416 1e5a9b2
isactive -> isvalid
mlubin 9c005e4
typo
mlubin 6063807
todo is done
mlubin d607a86
Resolve conflicts with SolverInterFace.md
tazz0416 dd6eebe
Merge branch 'break_everything' into break_everything
3ab0181
replace sense symbol with enum
mlubin 5e3b472
Merge pull request #175 from jac0320/break_everything
mlubin ff15c3d
dimension of interval
mlubin 8c08031
discussion of duals
mlubin 4f33981
constructor for VariablePrimal
mlubin efad7db
document result status
mlubin 2f3320b
Constructors for VariableLower/UpperBoundDual
joehuchette fab357e
[ci skip] tidy
mlubin 37424f1
Merge branch 'break_everything' of https://github.com/JuliaOpt/MathPr…
mlubin 0e69f4a
[ci skip] fix reference in docs, add todo
mlubin b77bfd7
[ci skip] constraint attributes
mlubin b814ac7
Add SOS constraints
joehuchette ba299f2
Merge branch 'break_everything' of https://github.com/JuliaOpt/MathPr…
joehuchette 3b32653
Fallback methods for attribute getters/setters
joehuchette 8454821
Move SOS to sets
joehuchette a79e635
Add the option for deleting multiple variables and constraints
joaquimg 2de174f
[ci skip] counts and supported sets
mlubin af22102
Merge branch 'break_everything' of https://github.com/JuliaOpt/MathPr…
mlubin 9ce67c1
Add writeproblem, getbasis
joehuchette b997edd
Merge branch 'break_everything' of https://github.com/JuliaOpt/MathPr…
joehuchette 56b873a
Merge pull request #176 from joaquimg/break_everything
mlubin bc20db9
Add LinearConstraintCount
joehuchette c987600
Merge branch 'break_everything' of https://github.com/JuliaOpt/MathPr…
joehuchette c772b0d
[ci skip] generalize variable references
mlubin 6661fb8
Remove LinearConstraintCount; change basis getters
joehuchette c835a03
Merge branch 'break_everything' of https://github.com/JuliaOpt/MathPr…
joehuchette c44a0ff
Tweak docs for basis attributes
joehuchette 8c6da94
Modify constraints
odow e0d4042
Merge pull request #177 from odow/break_everything
mlubin 90fb1e0
Begin objectives
odow d4a9e82
modify and get objective
odow 86f9377
Multi-objective attributes
odow a0e44d3
Same basis return statuses for both variables and constraints
joehuchette 4a62e4b
Revert objective attributes
odow e127590
Merge pull request #178 from odow/break_everything
mlubin a6dfeff
include file and fix typo
odow f17e27c
Merge pull request #179 from odow/break_everything
mlubin 9cdad13
fix constructor for ObjectiveValue
mlubin 838db37
making latest docs build from break_everything branch
ccoffrin 8868c85
collapse high-level interface docs into one file
mlubin e9075b4
restructure docs into separate files
mlubin 8022f6f
Merge pull request #180 from ccoffrin/break_everything
mlubin 102906c
comment out interface tests, to be rewritten
mlubin cd91815
Models (#181)
odow 402839f
split variable references, specialized affine-in-set constraint
mlubin 1d6ef9e
document objectives
mlubin 8402970
Modify sets
odow 0e67cb3
Merge pull request #184 from odow/break_everything
mlubin 2427d59
Proposed NLP Interface (#183)
ccoffrin 446c8db
temporarily disable tests
mlubin 6677152
Merge branch 'break_everything' of https://github.com/JuliaOpt/MathPr…
mlubin f85eba9
remove AbstractNonlinearModel
mlubin 0cbe981
Fix typos and color syntaxing (#185)
blegat 6393409
fix addvariable
mlubin 9513474
update intro
mlubin d8cc314
rename attributes for constraint support
mlubin 4909aef
spellcheck
mlubin b7e35bf
warn on high-level docs
mlubin cd71439
define SOC
mlubin 48c5736
lighten load on travis
mlubin ac06eba
clarify variable references, not indices
mlubin 87e61f2
move attributes out of status code list
mlubin 0e1a103
column generation (#189)
odow 3308af5
preliminary migration of nlp tests (#187)
ccoffrin b509ca6
restructure docs
mlubin b4dfb06
Merge branch 'break_everything' of https://github.com/JuliaOpt/MathPr…
mlubin 57c1480
missing file
mlubin 2f685d0
getters for constraint and objective data
mlubin f795d13
WIP: Migrated First Conic Model (#191)
ccoffrin dfa8cd8
WIP: redo tests (#182)
odow 0c92ff4
another pass on attributes
mlubin 7643636
More tests (#192)
joaquimg c6f3838
Add the PSD cone (#194)
blegat 5a7e00f
added exp and pow sets, tidied definitions
chriscoey 92e3da9
address comments
chriscoey a58ab57
tidy PSD definitions
chriscoey 73d3303
empty manual
mlubin 9980f87
missing file
mlubin 564d645
potential math definition of set problem
chriscoey b9b8e54
another pass on sets
mlubin 699698f
tidy
mlubin 81ce4cd
remove variable bound attributes and add basic discussion of duals
mlubin d9a1074
1-d variablewise constraints
mlubin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
```@meta | ||
CurrentModule = MathProgBase | ||
``` | ||
|
||
These are used to get and set properties of the model. | ||
|
||
```@docs | ||
AbstractAttribute | ||
cangetattribute | ||
getattribute | ||
cansetattribute | ||
setattribute! | ||
``` | ||
|
||
## Scalar Attributes | ||
|
||
```@docs | ||
ObjectiveValue | ||
ObjectiveBound | ||
RelativeGap | ||
SolveTime | ||
Sense | ||
SimplexIterations | ||
BarrierIterations | ||
NodeCount | ||
RawSolver | ||
ResultCount | ||
VariableCount | ||
ConstraintCount | ||
SupportsVariablesInSet | ||
SupportsAffineInSet | ||
SupportsQuadraticInSet | ||
``` | ||
|
||
## Variable Attributes | ||
|
||
These attributes are associated with variables. Calls to `getattribute` and `setattribute!` should include as an argument a single `VariableReference` or a vector of `VariableReference` objects. | ||
|
||
```@docs | ||
VariablePrimalStart | ||
VariableLowerBoundDualStart | ||
VariableUpperBoundDualStart | ||
VariableLowerBound | ||
VariableUpperBound | ||
VariablePrimal | ||
VariableLowerBoundDual | ||
VariableUpperBoundDual | ||
``` | ||
|
||
## Constraint Attributes | ||
|
||
These attributes are associated with constraints. Calls to `getattribute` and `setattribute!` should include as an argument a single `ConstraintReference` or a vector of `ConstriaintReference{T}` objects. | ||
|
||
```@docs | ||
ConstraintPrimalStart | ||
ConstraintDualStart | ||
ConstraintPrimal | ||
ConstraintDual | ||
``` | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
|
||
```@meta | ||
CurrentModule = MathProgBase | ||
``` | ||
|
||
Some introduction to MPB API. List basic standalone methods. | ||
|
||
```@docs | ||
AbstractModel | ||
AbstractNLPModel | ||
AbstractMathProgSolver | ||
``` | ||
|
||
|
||
```@docs | ||
Model | ||
NLPModel | ||
optimize! | ||
freemodel! | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Choosing Solvers | ||
|
||
Solvers and solver-specific parameters are specified by [`AbstractMathProgSolver`](@ref) objects, which are provided by particular solver packages. For example, the `Clp` package exports a `ClpSolver` object, which can be passed to [`linprog`](@ref) as follows:: | ||
|
||
```julia | ||
using Clp | ||
linprog([-1,0],[2 1],'<',1.5, ClpSolver()) | ||
``` | ||
|
||
Options are passed as keyword arguments, for example, `ClpSolver(LogLevel=1)`. See the [Clp](https://github.com/mlubin/Clp.jl), [Cbc](https://github.com/mlubin/Cbc.jl), [GLPKMathProgInterface](https://github.com/JuliaOpt/GLPKMathProgInterface.jl), and [Gurobi](https://github.com/JuliaOpt/Gurobi.jl) packages for more information. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
```@meta | ||
CurrentModule = MathProgBase | ||
``` | ||
|
||
How to add and modify constraints. | ||
```@docs | ||
VariablewiseConstraintReference | ||
AffineConstraintReference | ||
QuadraticConstraintReference | ||
candelete(::AbstractMathProgModel,::ConstraintReference) | ||
isvalid(::AbstractMathProgModel,::ConstraintReference) | ||
delete!(::AbstractMathProgModel,::ConstraintReference) | ||
addconstraint! | ||
modifyconstraint! | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
```@meta | ||
CurrentModule = MathProgBase | ||
``` | ||
|
||
|
||
We take the convention that duals on variable lower bounds should be nonnegative, duals on variable upper bounds should be nonpositive, and duals on closed convex cones should belong to the dual cone. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
```@meta | ||
CurrentModule = MathProgBase | ||
``` | ||
|
||
## Linear Programming | ||
|
||
```@docs | ||
linprog | ||
buildlp | ||
solvelp | ||
``` | ||
|
||
## Mixed-integer Programming | ||
|
||
```@docs | ||
mixintprog | ||
``` | ||
|
||
## Quadratic Programming | ||
|
||
```@docs | ||
quadprog | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# MathProgBase documentation | ||
# MathProgBase | ||
|
||
[MathProgBase.jl](https://github.com/JuliaOpt/MathProgBase.jl) is a standarized API for Mathematical Optimization solvers. [JuMP](https://github.com/JuliaOpt/JuMP.jl) uses MathProgBase as a solver-independent low-level backend, but MathProgBase may be used freely without JuMP. In addition to the low-level API, MathProgBase provides one-shot functions for linear, mixed-integer, and quadratic optimiztion problems. | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
```@meta | ||
CurrentModule = MathProgBase | ||
``` | ||
|
||
# NonLinear Programming Interface (NLP) | ||
|
||
|
||
## NLP Methods | ||
|
||
```@docs | ||
loadnlp! | ||
initialize | ||
features_available | ||
eval_f | ||
eval_grad_f | ||
jac_structure | ||
hesslag_structure | ||
eval_jac_g | ||
eval_jac_prod | ||
eval_jac_prod_t | ||
eval_hesslag_prod | ||
eval_hesslag | ||
isobjlinear(::AbstractNLPEvaluator) | ||
isobjquadratic(::AbstractNLPEvaluator) | ||
isconstrlinear(::AbstractNLPEvaluator, i::Integer) | ||
obj_expr | ||
constr_expr | ||
``` | ||
|
||
## NLP Attributes | ||
|
||
```@docs | ||
ConstraintNLPDual | ||
ConstraintNLPDualStart | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
```@meta | ||
CurrentModule = MathProgBase | ||
``` | ||
|
||
How to add and set objectives. | ||
```@docs | ||
setobjective! | ||
modifyobjective! | ||
getobjective | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
```@meta | ||
CurrentModule = MathProgBase | ||
``` | ||
|
||
|
||
List of sets. | ||
```@docs | ||
NonNegative | ||
NonPositive | ||
Zero | ||
Interval | ||
Integers | ||
Binaries | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
```@meta | ||
CurrentModule = MathProgBase | ||
``` | ||
|
||
|
||
## Termination Status | ||
|
||
The `TerminationStatus` attribute is meant to explain the reason why the solver stopped executing. The value of the attribute is of type `TerminationStatusCode`. | ||
|
||
```@docs | ||
TerminationStatus | ||
TerminationStatusCode | ||
``` | ||
|
||
## Result Status | ||
|
||
The `PrimalStatus` and `DualStatus` attributes are meant to explain how to interpret the result returned by the solver. The value of the attributes are of type `ResultStatusCode`. | ||
|
||
```@docs | ||
PrimalStatus | ||
DualStatus | ||
ResultStatusCode | ||
``` | ||
|
||
## Basis Status | ||
|
||
TODO: attributes and status codes for LP basis status | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
|
||
```@meta | ||
CurrentModule = MathProgBase | ||
``` | ||
|
||
```@docs | ||
VariableReference | ||
candelete(::AbstractMathProgModel,::VariableReference) | ||
isvalid(::AbstractMathProgModel,::VariableReference) | ||
delete!(::AbstractMathProgModel,::VariableReference) | ||
addvariables! | ||
addvariable! | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/standarized/standardized
s/optimiztion/optimization