Skip to content

Commit

Permalink
add docs
Browse files Browse the repository at this point in the history
  • Loading branch information
peterdsharpe committed Nov 30, 2023
1 parent a44a21e commit 2846841
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,22 @@ This problem is chosen here because it shares many difficult aspects with engine

The performance of AeroSandbox (with CasADi backend) is compared against existing methods using black-box optimization techniques. AeroSandbox offers faster practical and asymptotic optimization performance than existing black-box optimization methods, demonstrating the magnitude of acceleration that is possible.

Exact code implementation of each method is [here](./nd_rosenbrock/run_times.py).

![benchmark_nd_rosenbrock](./nd_rosenbrock/benchmark_nd_rosenbrock.png)

## AeroSandbox vs. Disciplined Optimization Methods

Here, we compare the performance of AeroSandbox (with CasADi backend) to existing methods using disciplined optimization techniques. AeroSandbox offers faster practical and asymptotic optimization performance than existing disciplined optimization methods, demonstrating the magnitude of acceleration that is possible.

One disciplined optimization method used in aircraft design is geometric programming, with the [GPkit](https://github.com/convexengineering/gpkit) package an example implementation of this. Here, we compare the performance of AeroSandbox to GPkit on the GP-compatible [beam problem](https://gpkit.readthedocs.io/en/latest/examples.html#simple-beam) given in the GPkit documentation.

This problem is a structural analysis of a cantilever beam with a distributed load. As described in the GPkit documentation:

> In this example we consider a beam subjected to a uniformly distributed transverse force along its length. The beam has fixed geometry so we are not optimizing its shape, rather we are simply solving a discretization of the Euler-Bernoulli beam bending equations using GP.
In this chart, runtime is used instead of function evaluations, because the GPkit API doesn't easily expose this information from the underlying solver.

Exact code implementation of each method is [here](./gp_beam/run_times.py).

![benchmark_gp_beam](./gp_beam/benchmark_gp_beam.png)
Binary file not shown.
Binary file not shown.

0 comments on commit 2846841

Please sign in to comment.