Next : Starting a new problem Up : Tutorial main page


What is NIMBUS?


As its name suggests, NIMBUS (Nondifferentiable Interactive Multiobjective BUndle-based optimization System) is a multiobjective optimization system being able to handle even nondifferentiable functions. It will optimize (minimize or maximize) several functions at the same time, creating a group of different solutions. One cannot say which one of them is the best, because the system cannot know the criteria affecting the 'goodness' of the desired solution. The user is the one that makes the decision. Usually, an example is the best way to make things clear:

Simple example:

cylinder Let's consider a cell shaped like a cylinder with a circular cross-section. The shape of the cell is here determined by two quantities, its radius x1 and its height x2. We want to maximize the volume of the cylinder and minimize the surface area. In addition to this, cylinder's height should be close to 15 units.

The volume of a cylinder is the product of its base area and height. A cylinder can be cut and unrolled into a rectangle and the surface area of this rectangle is the product of its height and the perimeter of the circle (2*3.14159*x1). Sum of our cylinder's two flat circular caps is 2*3.14159*x12. The total surface area of the cylinder with flat circular ends is then 2*3.14159*(x12)+2*3.14159*x1*x2.

Three functions can be made from the above information: the one describing the volume of the cylinder, the other telling the surface area and the last measuring the height difference.

So the problem is

maximize  Volume = 3.14159*(x12)*x2
minimize  SurfaceArea = 2*3.14159*(x12)+2*3.14159*x1*x2
minimize  HeightDiff = ABS(x2-15.0)

Let's assume that the cylinder's height must be greater or equal to its width. This information gives us the following constraint:

g(x) = 2*x1 - x2 <= 0

Now we have all data needed to solve the problem. The (iterative) solving process is explained in its own chapter.

Mathematical approach

Mathematically, all the generated solutions are 'equal', so it is important that the user can influence the solution process. The user may want to choose which of the functions should be optimized most, what are the limits of the objectives, etc. In NIMBUS, this phase is called a 'classification'. We will discuss this procedure later.

Searching for the desired solution means actually finding the best compromise between many separate goals. If we want to get lower values for one function, we must be ready to accept the growth of another function. This is due to the fact that the solutions produced by NIMBUS are Pareto optimal. This means that there is no possibility to achieve better solutions for some component of the problem without worsening some other component(s).

User interface

This version of NIMBUS is NOT a 'usual' computer application, because it has a WWW (World Wide Web) interface. This means that the software is used via a web browser. This setting has many advantages: The only requirements for the user are an internet connection and a web browser.


Next : Starting new problem Up : Tutorial main page