Skip to content

Commit

Permalink
Merge pull request #10 from control-toolbox/cleaning
Browse files Browse the repository at this point in the history
Cleaning
  • Loading branch information
AnasXbouali authored Aug 14, 2024
2 parents 6479d7a + 42c2bc8 commit baedaef
Show file tree
Hide file tree
Showing 11 changed files with 1,424 additions and 76 deletions.
28 changes: 28 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# [.github/workflows/CI.yml]
name: CI
on:
push:
branches:
- main
- develop
tags: '*'
pull_request:
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
version:
- '1.10'
os:
- ubuntu-latest
arch:
- x64
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/julia-runtest@latest
25 changes: 25 additions & 0 deletions .github/workflows/Documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# [.github/workflows/Documentation.yml]
name: Documentation

on:
push:
branches:
- main
tags: '*'
pull_request:

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
- uses: julia-actions/julia-buildpkg@latest
- name: Install dependencies
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- name: Build and deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key
GKSwstype: 100 # To make GitHub Action work, disable showing a plot window with the GR backend of the Plots package
run: julia --project=docs/ -e 'ENV["GKSwstype"]="nul" ; include("docs/make.jl")'
19 changes: 19 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# [.github/workflows/coverage.yml]
name: coverage
on:
push:
branches:
- main
tags: '*'
jobs:
test:
name: coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
- uses: julia-actions/julia-runtest@latest
- uses: julia-actions/julia-processcoverage@latest
- uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
15 changes: 4 additions & 11 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
[deps]
Animations = "27a7e980-b3e6-11e9-2bcd-0b925532e340"
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9"
JuMP = "4076af6c-e467-56ae-b986-b466b2749572"
LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
PyPlot = "d330b81b-6aea-500a-939a-2ce795aea3ee"
Reel = "71555da5-176e-5e73-a222-aebc6c6e4f2f"
name = "ControlLoss"
uuid = "6a3a0e7e-9c90-4c26-bc64-8dd630726a7b"
authors = ["Olivier Cots <olivier.cots@irit.fr>"]
version = "0.1.0"
27 changes: 27 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,29 @@
[deps]
Animations = "27a7e980-b3e6-11e9-2bcd-0b925532e340"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9"
JuMP = "4076af6c-e467-56ae-b986-b466b2749572"
LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
NLPModelsIpopt = "f4238b75-b362-5c4c-b852-0801c9a21d71"
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
OptimalControl = "5f98b655-cc9a-415a-b60e-744165666948"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
Reel = "71555da5-176e-5e73-a222-aebc6c6e4f2f"

[compat]
Animations = "0.4.1"
Documenter = "1.5.0"
ForwardDiff = "0.10.36"
Ipopt = "1.6.6"
JuMP = "1.23.0"
LaTeXStrings = "1.3.1"
NLPModelsIpopt = "0.10.2"
NLsolve = "4.5.1"
OptimalControl = "0.11.0"
OrdinaryDiffEq = "6.87.0"
Plots = "1.40.5"
Reel = "1.3.2"
julia = "1.10"
3 changes: 1 addition & 2 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ makedocs(
asset("https://control-toolbox.org/assets/css/documentation.css"),
asset("https://control-toolbox.org/assets/js/documentation.js"),
],
inventory_version = "0.1.0" # Add this line
),
pages = [
"Introduction" => "index.md",
Expand All @@ -21,6 +20,6 @@ makedocs(
)

deploydocs(
repo = "https://github.com/control-toolbox/control-loss.git",
repo = "github.com/control-toolbox/control-loss.git",
devbranch = "main"
)
7 changes: 2 additions & 5 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

Typically, optimal control involves *permanent control*, allowing modification of the control function at each time instant. However, practical constraints can lead to *nonpermanent control*. For instance, digital controls result in *sampled-data control* with discrete changes. In aerospace, *eclipse constraints* limit control for solar-powered satellites in a shadow region where the control is reduced to zero. Hence, it is desirable to keep the system outside these regions.

![MRI](resources/mri.jpg)
![aerospace](resources/aerospace.jpg)

```math
\begin{equation}
Expand Down Expand Up @@ -33,16 +33,13 @@ We extend our previous work by using a permanent control for control regions and
- Provide an indirect method (shooting method) for solving optimal control problems with loss control regions using the PMP with loss control regions.




[^1]: T. Bayen, A. Bouali, L. Bourdin & O. Cots, *Loss control regions in optimal control problems*, Journal of Differential Equations, **12** (2024) 405, 359-397.

## Dependencies

All the numerical simulations to generate this documentation from `MRI.jl` are performed with the following packages.
All the numerical simulations to generate this documentation are performed with the following packages.

```@example
using Pkg
Pkg.status()
```
>>>>>>> adjoint
File renamed without changes
Loading

0 comments on commit baedaef

Please sign in to comment.