Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JuliaMPC/NLOptControl.jl
nonlinear control optimization tool
https://github.com/JuliaMPC/NLOptControl.jl
control control-systems ipopt julia nonlinear-dynamics nonlinear-optimization solver
Last synced: 3 months ago
JSON representation
nonlinear control optimization tool
- Host: GitHub
- URL: https://github.com/JuliaMPC/NLOptControl.jl
- Owner: JuliaMPC
- License: other
- Created: 2017-04-29T00:48:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-08-04T23:27:54.000Z (over 1 year ago)
- Last Synced: 2024-05-22T06:35:31.030Z (6 months ago)
- Topics: control, control-systems, ipopt, julia, nonlinear-dynamics, nonlinear-optimization, solver
- Language: Julia
- Homepage:
- Size: 23.1 MB
- Stars: 104
- Watchers: 10
- Forks: 25
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-sciml - JuliaMPC/NLOptControl.jl: nonlinear control optimization tool
README
# NLOptControl.jl
[![Build Status](https://ci.appveyor.com/api/projects/status/f480ahs29c85m6ne?svg=true)](https://ci.appveyor.com/project/huckl3b3rry87/nloptcontrol-jl)
[![travis](https://travis-ci.org/JuliaMPC/NLOptControl.jl.svg?branch=master)](https://travis-ci.org/JuliaMPC/NLOptControl.jl)This software solves **nonlinear control problems** at a **high-level** very **quickly**.
Adds to [juliaOpt](http://www.juliaopt.org/) community by:
* Providing an implementation of direct-collocation methods for solving optimal control problems in julia
* Solving nonlinear optimal control problems at a high-level
* Visualizing the solution## Documentation
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliampc.github.io/NLOptControl.jl/stable/)
[![Latest](https://img.shields.io/badge/docs-latest-blue.svg)](https://juliampc.github.io/NLOptControl.jl/latest/)## Installation
If you are using **Linux** make sure that you have **gfortran** to run **Ipopt**:
```bash
sudo apt-get update
sudo apt-get install gfortran
sudo apt-get install liblapack-dev
sudo apt-get install libblas-dev
```Also, make sure that you are using at least julia 1.0.0
Then open up julia and install NLOptControl
```julia
Pkg.add("https://github.com/JuliaMPC/NLOptControl.jl")
Pkg.pin("KNITRO",v"0.4")
Pkg.clone("https://github.com/JuliaMPC/NLOptControl.jl")
```## Citation
If you find [NLOptControl.jl](https://github.com/JuliaMPC/NLOptControl.jl) useful, please cite it:
```LaTeX
@software{nlopt,
author = {{Huckleberry Febbo}},
title = {NLOptControl.jl},
url = {https://github.com/JuliaMPC/NLOptControl.jl},
version = {0.0.1},
date = {2017-06-17},
}
```## Acknowledgements
* [JuMP.jl](https://jump.readthedocs.io/en/latest/) is an important part of this NLOptControl.jl and discussions with Miles Lubin where helpful
* Chris Rackauckas is a very helpful member of the julia community and has provided me support and advice multiple times his software [DifferentialEquations.jl](https://github.com/JuliaDiffEq/DifferentialEquations.jl) is also part of NLOptControl.jl