optim4ai

Logo

Optimisation for Artificial Intelligence, a 4-day course

View the Project on GitHub xoolive/optim4ai

Introduction to optimisation topics

« Previous | Up ↑ | Next »

An optimisation problem is usually defined as a function to minimise:

\[\min_x f(x)\]

Modelling a problem consists in identifying decision variables and an objective function.

Example: Find the optimal angle to fire a cannon to maximize the distance it travels down range.
Solution (click to unfold)
  • Define the referential, sum the forces applying to a cannon ball of mass $m$, integrate, etc.
  • $$y = -\frac{g}{2 v_0^2\, \cos^2 \alpha} x^2 + \tan \alpha\, x$$
  • The range of the cannonball writes:
  • $$ d = \frac{v_0^2\, \sin (2\alpha)}{g} $$
  • The sine function is continuous and differentiable:
  • $$\alpha_{max} = 45^{\circ}$$

Constraint optimisation adds up to this definition with a slight addition:

\[\min_x f(x) \textsf{ with } c(x)\]

In case of non-constrained optimisation, we have \(\forall x: c(x)\)

There is no general method to find the optimum to such problem, however there are general methods to solve problems fitting a given paradigm (see the cannon ball problem, that was easy, right?)

Scope of the course
During this course, we will go through various paradigms, fitting different characteristics of the problems we analyse. Depending on how we choose to model problems (discrete domains, differentiable functions, linear functions, black box models, etc.), we will be able to choose which method is the best fit.

The main characteristic of each of these optimisation paradigms is:

During the course of this class, we will in particular look through:

« Previous | Up ↑ | Next »