All Projects → edxu96 → MatrixOptim.jl

edxu96 / MatrixOptim.jl

Licence: GPL-3.0 License
Data-Driven Decision Making under Uncertainty in Matrix

Programming Languages

python
139335 projects - #7 most used programming language
julia
2034 projects
TeX
3793 projects
matlab
3953 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to MatrixOptim.jl

Coluna.jl
Branch-and-Price-and-Cut in Julia
Stars: ✭ 128 (+540%)
Mutual labels:  mixed-integer-programming, dantzig-wolfe-decomposition
robust
Robust optimization for power markets
Stars: ✭ 27 (+35%)
Mutual labels:  robust-optimization
MINLPLib.jl
A JuMP-based library of Non-Linear and Mixed-Integer Non-Linear Programs
Stars: ✭ 30 (+50%)
Mutual labels:  mixed-integer-programming
rmpk
Mixed Integer Linear and Quadratic Programming in R
Stars: ✭ 37 (+85%)
Mutual labels:  mixed-integer-programming
advchain
[Medical Image Analysis] Adversarial Data Augmentation with Chained Transformations (AdvChain)
Stars: ✭ 32 (+60%)
Mutual labels:  robust-optimization
EAGO.jl
A development environment for robust and global optimization
Stars: ✭ 106 (+430%)
Mutual labels:  robust-optimization
StochasticPrograms.jl
Julia package for formulating and analyzing stochastic recourse models.
Stars: ✭ 56 (+180%)
Mutual labels:  stochastic-programming
ARM-gradient
Low-variance, efficient and unbiased gradient estimation for optimizing models with binary latent variables. (ICLR 2019)
Stars: ✭ 26 (+30%)
Mutual labels:  stochastic-optimization
biteopt
Derivative-Free Optimization Method for Global Optimization (C++)
Stars: ✭ 91 (+355%)
Mutual labels:  mixed-integer-programming
storage
Multi-Factor Least Squares Monte Carlo energy storage valuation model (Python and .NET).
Stars: ✭ 24 (+20%)
Mutual labels:  stochastic-optimization
glpk.js
GLPK for browser & node
Stars: ✭ 72 (+260%)
Mutual labels:  milp
scanalytics
Python implementation to solve Vehicle Routing problem & Master Production Scheduling in Supply Chain Analytics & Design.
Stars: ✭ 50 (+150%)
Mutual labels:  mixed-integer-programming
Pajarito.jl
A solver for mixed-integer convex optimization
Stars: ✭ 98 (+390%)
Mutual labels:  mixed-integer-programming
simulated-annealing
Simulated Annealing with Modern Fortran
Stars: ✭ 17 (-15%)
Mutual labels:  stochastic-optimization
Hive
Artificial Bee Colony Algorithm in Python.
Stars: ✭ 70 (+250%)
Mutual labels:  stochastic-optimization
cplex-scala
A scala library for IBM ILOG CPLEX
Stars: ✭ 20 (+0%)
Mutual labels:  mixed-integer-programming
mpc-DL-controller
Deep Neural Network architecture as a predictive optimal controller for {HVAC+Solar cell + battery} disturbance afflicted system vs classic Model Predictive Control
Stars: ✭ 37 (+85%)
Mutual labels:  robust-optimization
multi-h
The C++ implementation of Multi-H algorithm, which is a multi-plane fitting technique. If you use this work for Academic purposes, please cite Barath, D. and Matas, J. and Hajder, L., Multi-H: Efficient Recovery of Tangent Planes in Stereo Images. 27th British Machine Vision Conference, 2016
Stars: ✭ 29 (+45%)
Mutual labels:  robust-optimization
ProSelfLC-2021
noisy labels; missing labels; semi-supervised learning; entropy; uncertainty; robustness and generalisation.
Stars: ✭ 45 (+125%)
Mutual labels:  robust-optimization
RobustGNSS
Robust GNSS Processing With Factor Graphs
Stars: ✭ 98 (+390%)
Mutual labels:  robust-optimization

MatrixOptim.jl

Build Status Code Style: Blue

MILP, Robust Optim. and Stochastic Optim., Decomposition Algorithms, and more in Matrix.

Tangram

MatrixOptim.jl is a package to model and solve optimization in uncertain context. The templates for robust optimization and stochastic optimization formulated in matrix are very coherent comprehensive, and the algorithms in matrix are very explicit.

This is a package I developed in 2019. Don't know too much about tests and documentation that time. I am trying to keep it up-to-date these days.

Introduction

The MILP can always be formulated in the following matrixes:

min  vec_c' * vec_x + vec_f' * vec_y
s.t. mat_A * vec_x + mat_B * vec_y <= vec_b
     vec_x in R
     vec_y in Z

Installation and Test

(v1.1) pkg> add MatrixOptim
(v1.1) pkg> test MatrixOptim

How to Use

For mixed integer linear programming:

model = getModel(vec_c, mat_aa, vec_b)
solveModel!(model)

For mixed integer linear programming with Benders decomposition:

model = getModelBenders(n_x, n_y, vec_min_y, vec_max_y, vec_c, vec_f, vec_b, mat_aa, mat_bb)
solveModelBenders!(model)

Right now, the supported solver is GLPK. Will add the feature to select other solvers, like Gurobi and CPLEX later.

Features

Models

  • Linear Programming
  • Mixed Integer Linear Programming
  • Robust Optimization
  • Stochastic Optimization
  • Markov Decision Process
  • Dynamic Optimization

Algorithms

  • Simplex Method
  • Branch and Cut for MILP
  • Benders Decomposition for MILP
  • L-Shaped Benders Decomp for Stochastic Optim
  • Dantzig-Wolfe Decomposition Family

Related to Development

More Info

  • Cookbook for theories and algorithms in MatrixOptim: MatrixOptim-Cookbook .
  • 矩阵优化:通过矩阵表示混合整数线性规划,鲁棒(抗差)优化,随机优化和分解算法。虽然项目是用 英文写的,但是有中文详解
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].