Jump to content
Matthias Maasch

Black Box Optimization Problem

Recommended Posts

Hi,

 

please find attached an example for a so-called black box optimization problem.

 

For optimization problems in technical applications it often happens that there is no information on the target function. The research area for the optimization is inside a "black box". So it is very difficult to find the optimum. Time is money. For this reason it is very important to investigate the unknown area quickly and effectively. In order to solve this kind of problem Friendship-Framework contains many optimization algorithms ranging from single-objective strategies for fast and simple studies to multi-objective techniques to investigate a non-linear design space with many local minima and maxima.

 

In the attached file you can try out and compare different algorithms by yourself. Inside the black box (curtain) is a b-spline surface with some local minima and maxima. With the two design variables "usValue" and "vsValue" you can search for a minima by your own. The vertical transparent red surface represents a constraint. Feasible solution can be found only on the right side of the constraint.

 

Sobol, TSearch and NelderMeadSimplex are already performed.  Sort the column "objective" within the result table for the smallest value and check the first feasible design. Use  the values of "usValue" and "vsValue" from the result table to see where the minimum is found on the b-spline surface (of course you can untoggle the visibility of the blackbox by clicking on the scope "curtain" to see the b-spline surface). Use the feature "optiVisualization" to visualize the way of the optimization algorithm on the surface.

 

Please feel free to try out your own optimization setups. Maybe set the start values "usValue" and "vsValue" on a local minima and see what happens.

 

File for CAESES versions below 4.0.3:

optimization.fdb

 

Project file for CAESES 4.1.x:

optimization41x.fdb

 

Cheers

 

Matthias

post-45-0-76769500-1374322260_thumb.png

post-45-0-54373700-1374322277_thumb.png

post-45-0-68723800-1374322292_thumb.png

post-45-0-46493900-1374322306_thumb.png

  • Upvote 1

Share this post


Link to post
Share on other sites

Hi,

 

Based on Matthias' example I ran a Design-of-Experiment (DoE) for the exploration of the design space. Here we have just a two-dimensional problem which is nice to illustrate what happens -- would be a bit more difficult in, say, 17 dimensions.

 

The chosen DoE is a Sobol, i.e., a quasi-random sequence. Nice about the Sobol is that

 

  • you can re-run it and get the same distribution again and again (so, this is good if you need to investigate something that you may have forgotten in the first run),
  • you can start with a certain number of variants (e.g. 0 to 99) and then simply add further variants (e.g. 100 to 199, then 200 to 999) which then nicely complement your previous set(s).

 

To understand how the Sobol works imagine a sunny beach: Early in the morning when the first vistors arrive they will pick a nice spot and put their blankets down. Then the next vistors come. They would choose a spot that is as far away from the first vistors as possible (unless there are other incentives beyond the scope of this technical explanation). A bit later the third group of visitors come and again, for privacy, they would take a spot that is in the region that is still as unoccupied as possible. By the end of the day, assuming nobody can leave the beach, the whole area will be somewhat packed, the last one to arrive always trying to find the region that still gives the largest distance to all neigbors, i.e., filling in the least populated spot.

 

Naturally, you would rather want a scarcely covered beach. So, the compromise you have to find is a set of variants that is small enough to be quickly computed yet large enough to reasonably understand the design space and to identify regions for subsequent exploitation.

 

The animations attached illustrate what happens, using the first 10 variants. In real life you do not know the shape of your objective. So, the first animation shows the black-box situation you will usually encounter. The second animation reveals what happens. Naturally, for your actual design task you will most likely never see the shape of your objective(s) since, fristly, you will have more than two free variables and, secondly, you can probably not afford to compute enough variants to get the full picture. (A response surface may help but this is a meta-model which approximates your simulation data which are also just shadows on the wall -- but that is a different story.)

 

Kind regards,

Stefan

post-27-0-56684700-1374586766_thumb.gif

post-27-0-68890700-1374586772_thumb.gif

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...