All Projects → chkwon → Complementarity.jl

chkwon / Complementarity.jl

Licence: other
provides a modeling interface for mixed complementarity problems (MCP) and math programs with equilibrium problems (MPEC) via JuMP

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Complementarity.jl

Desdeo
An open source framework for interactive multiobjective optimization methods
Stars: ✭ 8 (-85.19%)
Mutual labels:  optimization
Online Relationship Learning
Unsupervised ML algorithm for predictive modeling and time-series analysis
Stars: ✭ 34 (-37.04%)
Mutual labels:  optimization
Timeseriesclustering.jl
Julia implementation of unsupervised learning methods for time series datasets. It provides functionality for clustering and aggregating, detecting motifs, and quantifying similarity between time series datasets.
Stars: ✭ 49 (-9.26%)
Mutual labels:  optimization
Powermodelsannex.jl
A PowerModels.jl Extension Package for Exploratory Work
Stars: ✭ 11 (-79.63%)
Mutual labels:  optimization
Tsp solver
Solving tsp (travel sales problem) using ruin & recreate method.
Stars: ✭ 29 (-46.3%)
Mutual labels:  optimization
Tris Webpack Boilerplate
A Webpack boilerplate for static websites that has all the necessary modern tools and optimizations built-in. Score a perfect 10/10 on performance.
Stars: ✭ 1,016 (+1781.48%)
Mutual labels:  optimization
Rl Baselines Zoo
A collection of 100+ pre-trained RL agents using Stable Baselines, training and hyperparameter optimization included.
Stars: ✭ 839 (+1453.7%)
Mutual labels:  optimization
Notes
The notes for Math, Machine Learning, Deep Learning and Research papers.
Stars: ✭ 53 (-1.85%)
Mutual labels:  optimization
K Means Constrained
K-Means clustering - constrained with minimum and maximum cluster size
Stars: ✭ 33 (-38.89%)
Mutual labels:  optimization
Tinystr
A small ASCII-only bounded length string representation.
Stars: ✭ 48 (-11.11%)
Mutual labels:  optimization
Tess Opt
Demonstration of how we can use tessellation shaders to make faster fragment shaders.
Stars: ✭ 13 (-75.93%)
Mutual labels:  optimization
Awesome Seo
Google SEO研究及流量变现
Stars: ✭ 942 (+1644.44%)
Mutual labels:  optimization
Gasmodels.jl
A Julia/JuMP Package for Gas Network Optimization
Stars: ✭ 43 (-20.37%)
Mutual labels:  optimization
Cutest.jl
Julia's CUTEst Interface
Stars: ✭ 10 (-81.48%)
Mutual labels:  optimization
Gd Uap
Generalized Data-free Universal Adversarial Perturbations
Stars: ✭ 50 (-7.41%)
Mutual labels:  optimization
Bfgs Neldermead Trustregion
Python implementation of some numerical (optimization) methods
Stars: ✭ 8 (-85.19%)
Mutual labels:  optimization
Model Optimization
A toolkit to optimize ML models for deployment for Keras and TensorFlow, including quantization and pruning.
Stars: ✭ 992 (+1737.04%)
Mutual labels:  optimization
Dsp
An open-source parallel optimization solver for structured mixed-integer programming
Stars: ✭ 53 (-1.85%)
Mutual labels:  optimization
Sanic.js
JS Gotta go fast ! | Increase native JS functions performances
Stars: ✭ 50 (-7.41%)
Mutual labels:  optimization
Smallfunction
Stack allocated and type-erased functors 🐜
Stars: ✭ 47 (-12.96%)
Mutual labels:  optimization

Complementarity.jl

Build Status codecov

This package provides modeling language for (1) mixed complementarity problems (MCP) and (2) mathematical programs with equilibrium problems (MPEC).

NOTE @complmentarity for MCP and @complements for MPEC.

Mixed Complementarity Problems (MCP)

NOTE: The PATHSolver.jl has been completely rewritten between v0.6.2 and v1.1.0. Now PATHSolver.jl provides both an interface to the PATH solver and an integration to JuMP, but only limited to linear problems at this moment. For nonlinear problems, you still need to use Complementarity.jl, which now also uses the new PATHSolver.jl as its solver. Most parts of Complementarity.jl remain the same, except how the solver options are passed.

MCP Documentation

F(x) ⟂ lb ≤ x ≤ ub

A very simple example:

(x+2) x = 0,  x ≥ 0,   x+2 ≥ 0
using Complementarity, JuMP
m = MCPModel()
@variable(m, x >= 0)
@mapping(m, F, x+2)
@complementarity(m, F, x)
status = solveMCP(m)
@show result_value(x)

Mathematical Programs with Equilibrium Constraints (MPEC)

NOTE: For solving MPEC, JuMP.jl v0.21 has started supporting complementarity constraints. At this moment, GAMS.jl and KNITRO support complementarity constraints.

MPEC Documentation

min  f(x)
s.t. g(x) ≤ 0
     F(x) ⟂ lb ≤ x ≤ ub

A very simple example:

min  x^3
s.t. (x+2) x = 0,  x ≥ 0,   x+2 ≥ 0
using JuMP, Ipopt, Complementarity
m = Model(solver=IpoptSolver())
@variable(m, x>=0)
@NLobjective(m, Min, x^3)
@complements(m, 0 <= x+2,   x >= 0)
solve(m)
@show getvalue(x)

Installation

Pkg.add("Complementarity")

This will also install a few other packages.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].