Skip to content

Commit

Permalink
Built site for gh-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
hurak committed Apr 24, 2024
1 parent 026d9a4 commit 8741899
Show file tree
Hide file tree
Showing 71 changed files with 100,460 additions and 1,513 deletions.
2 changes: 1 addition & 1 deletion .nojekyll
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4dfb137a
fed72fc4
1,114 changes: 1,114 additions & 0 deletions cont_indir_CARE 18.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions cont_indir_LQR_fin_horizon 24.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions cont_indir_LQR_inf_horizon 18.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions cont_indir_Pontryagin 24.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions cont_indir_calculus_of_variations 26.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions cont_indir_constrained 25.html

Large diffs are not rendered by default.

1,154 changes: 1,154 additions & 0 deletions cont_indir_references 15.html

Large diffs are not rendered by default.

1,256 changes: 1,256 additions & 0 deletions cont_indir_trajectory_stabilization 14.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions cont_indir_via_calculus_of_variations 26.html

Large diffs are not rendered by default.

2,036 changes: 2,036 additions & 0 deletions cont_numerical_indirect 10.html

Large diffs are not rendered by default.

274 changes: 136 additions & 138 deletions cont_numerical_indirect.html

Large diffs are not rendered by default.

1,166 changes: 1,166 additions & 0 deletions cont_numerical_references 11.html

Large diffs are not rendered by default.

1,143 changes: 1,143 additions & 0 deletions cont_numerical_software 10.html

Large diffs are not rendered by default.

1,459 changes: 1,459 additions & 0 deletions discr_dir_LQR 12.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion discr_dir_LQR.html
Original file line number Diff line number Diff line change
Expand Up @@ -801,7 +801,7 @@ <h3 class="anchored" data-anchor-id="simultaneous-sparse-formulation">Simultaneo
\text{subject to} &amp;\quad \widetilde{\mathbf A} \bar{\bm z} + \tilde{\bm b} = \mathbf 0.
\end{aligned}}
</span></p>
<div id="656e5e9e" class="cell">
<div id="612b2c47" class="cell">
<details class="code-fold">
<summary>Code</summary>
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="kw">function</span> <span class="fu">direct_dlqr_simultaneous</span>(A,B,x₀,Q,R,S,N)</span>
Expand Down
1,239 changes: 1,239 additions & 0 deletions discr_dir_general 17.html

Large diffs are not rendered by default.

1,202 changes: 1,202 additions & 0 deletions discr_dir_mpc 26.html

Large diffs are not rendered by default.

1,158 changes: 1,158 additions & 0 deletions discr_dir_mpc_economic 26.html

Large diffs are not rendered by default.

1,159 changes: 1,159 additions & 0 deletions discr_dir_mpc_explicit 26.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions discr_dir_mpc_recursive_feasibility 18.html

Large diffs are not rendered by default.

1,127 changes: 1,127 additions & 0 deletions discr_dir_mpc_solvers 22.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions discr_dir_mpc_stability 26.html

Large diffs are not rendered by default.

1,162 changes: 1,162 additions & 0 deletions discr_dir_references 16.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions discr_indir_DARE 21.html

Large diffs are not rendered by default.

2,473 changes: 2,473 additions & 0 deletions discr_indir_LQR_fin_horizon 25.html

Large diffs are not rendered by default.

1,394 changes: 697 additions & 697 deletions discr_indir_LQR_fin_horizon.html

Large diffs are not rendered by default.

1,242 changes: 1,242 additions & 0 deletions discr_indir_LQR_inf_horizon 25.html

Large diffs are not rendered by default.

1,347 changes: 1,347 additions & 0 deletions discr_indir_general 20.html

Large diffs are not rendered by default.

1,140 changes: 1,140 additions & 0 deletions discr_indir_references 19.html

Large diffs are not rendered by default.

1,626 changes: 1,626 additions & 0 deletions dynamic_programming 25.html

Large diffs are not rendered by default.

1,192 changes: 1,192 additions & 0 deletions dynamic_programming_LQR 18.html

Large diffs are not rendered by default.

1,166 changes: 1,166 additions & 0 deletions dynamic_programming_references 14.html

Large diffs are not rendered by default.

1,165 changes: 1,165 additions & 0 deletions dynamic_programming_tabular 15.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions ext_H2 4.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions ext_LQG 4.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions ext_LTR 4.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions ext_stochastic_LQR 4.html

Large diffs are not rendered by default.

1,105 changes: 1,105 additions & 0 deletions index 25.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions limits_of_performance_MIMO 25.html

Large diffs are not rendered by default.

1,114 changes: 1,114 additions & 0 deletions limits_of_performance_SISO 26.html

Large diffs are not rendered by default.

1,213 changes: 1,213 additions & 0 deletions opt_algo_constrained 25.html

Large diffs are not rendered by default.

1,191 changes: 1,191 additions & 0 deletions opt_algo_derivatives 19.html

Large diffs are not rendered by default.

1,116 changes: 1,116 additions & 0 deletions opt_algo_references 21.html

Large diffs are not rendered by default.

1,769 changes: 1,769 additions & 0 deletions opt_algo_unconstrained 23.html

Large diffs are not rendered by default.

208 changes: 104 additions & 104 deletions opt_algo_unconstrained.html

Large diffs are not rendered by default.

1,322 changes: 1,322 additions & 0 deletions opt_theory_constrained 26.html

Large diffs are not rendered by default.

1,415 changes: 1,415 additions & 0 deletions opt_theory_modellers 25.html

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions opt_theory_modellers.html
Original file line number Diff line number Diff line change
Expand Up @@ -756,7 +756,7 @@ <h2 class="anchored" data-anchor-id="why-optimization-modelling-languages">Why o
\end{aligned}
</span></p>
<p>There are dozens of solvers that can be used to solve this problem. Here we demonstrate a usage of these two: <a href="https://osqp.org">OSQP</a> and <a href="https://oxfordcontrol.github.io/COSMO.jl/stable/">COSMO.jl</a>. And we are going to call the solvers in Julia (using the the wrappers <a href="https://github.com/osqp/OSQP.jl">OSQP.jl</a> for the former). First, we start with OSQP (in fact, this is their example):</p>
<div id="fa2bbc1e" class="cell">
<div id="b024ac4e" class="cell">
<details open="" class="code-fold">
<summary>Show the code</summary>
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">OSQP</span></span>
Expand All @@ -783,7 +783,7 @@ <h2 class="anchored" data-anchor-id="why-optimization-modelling-languages">Why o
\text{subject to} &amp; \quad \begin{bmatrix} -1 &amp; -1\\ -1 &amp; 0\\ 0 &amp; -1\\ 1 &amp; 1\\ 1 &amp; 0\\ 0 &amp; 1\end{bmatrix}\bm x + \begin{bmatrix}1 \\ 0.7 \\ 0.7 \\ -1 \\ 0 \\ 0\end{bmatrix} \geq \mathbf 0.
\end{aligned}
</span></p>
<div id="e81e86be" class="cell">
<div id="f0bdecce" class="cell">
<details open="" class="code-fold">
<summary>Show the code</summary>
<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">COSMO</span></span>
Expand Down Expand Up @@ -811,7 +811,7 @@ <h2 class="anchored" data-anchor-id="why-optimization-modelling-languages">Why o
</div>
<p>Although the two solvers are solving the same problem, the data has to be formatted differently for each of them (and the difference in syntax is not negligible either).</p>
<p>What if we could formulate the same problem without considering the pecualiarities of each solver? It turns out that it is possible. In Julia we can use <a href="https://jump.dev/JuMP.jl/stable/">JuMP.jl</a>:</p>
<div id="46d21a85" class="cell">
<div id="1f984bf5" class="cell">
<details open="" class="code-fold">
<summary>Show the code</summary>
<div class="sourceCode cell-code" id="cb3"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">JuMP</span></span>
Expand Down Expand Up @@ -852,7 +852,7 @@ <h2 class="anchored" data-anchor-id="why-optimization-modelling-languages">Why o
<section id="why-not-optimization-modelling-languages" class="level2">
<h2 class="anchored" data-anchor-id="why-not-optimization-modelling-languages">Why not optimization modelling languages?</h2>
<p>As a matter of fact, some optimization experts even keep avoiding OML/AML altogether. For example, if a company pays for a (not really cheap) license of <a href="https://www.gurobi.com/solutions/gurobi-optimizer/">Gurobi Optimizer</a> – a powerful optimization library for (MI)LP/QP/QCQP –, it may be the case that for a particular very large-scale optimization problem their optimization specialist will have hard time to find a third-party solver of comparable performance. If then <a href="https://www.gurobi.com/documentation/current/refman/py_python_api_overview.html">its Python API</a> makes definition of optimization problems convenient too (see the code below), maybe there is little regret that such problem definitions cannot be reused with a third-party solver. The more so that since it is tailored to Gurobi solver, it will offer control over the finest details.</p>
<div id="523e23d5" class="cell">
<div id="e0937e1a" class="cell">
<details open="" class="code-fold">
<summary>Show the code</summary>
<div class="sourceCode cell-code" id="cb4"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="im">import</span> <span class="bu">gurobipy</span> as gp</span>
Expand Down Expand Up @@ -902,7 +902,7 @@ <h2 class="anchored" data-anchor-id="optimization-modelling-in-julia">Optimizati
<li><p><a href="https://jump.dev">JuMP.jl</a> not only constitutes one of the flagship packages of the Julia ecosystem but it is on par with the state of the art optimization modelling languages. Furthermore, being a free and open source software, it enjoys a vibrant community of developers and users. They even meet annually at JuMP-dev conference (<a href="https://jump.dev/meetings/jumpdev2023/">in 2023 in Boston, MA</a>).</p></li>
<li><p><a href="https://jump.dev/Convex.jl">Convex.jl</a> is an implementation of the concept of <a href="https://fenchel.stanford.edu/home">Disciplined Convex Programming (DCP)</a> in Julia (below we also list its implementations in Matlab and Python). Even though it is now registered as a part of the JuMP.jl project, it is still a separate concept. Interesting, convenient, but it seems to be in a maintanence mode now.</p></li>
</ul>
<div id="60bf8318" class="cell">
<div id="35af4eac" class="cell">
<details open="" class="code-fold">
<summary>Show the code</summary>
<div class="sourceCode cell-code" id="cb5"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">Convex</span>, <span class="bu">SCS</span></span>
Expand Down
Loading

0 comments on commit 8741899

Please sign in to comment.