| NOTE: | Classifying takes place only when more than one objective function is dealt with. If there is only one objective function, the optimal results will be displayed directly. |
The solution process with NIMBUS is iterative. Since there is usually not only one absolutely right solution, you are asked to 'guide the solver to a desired direction'. The classification is a process in which the desires of the user are expressed. You can choose which of the function values should be decreased from the current level and which of the functions are less important (i.e. their values can be increased). There are two ways of classification:
This is the 'default' classification method. All the results are presented as numeric data. The page contains a table showing the current solution and a group of buttons from which you can choose the class for each of the objective functions.The class alternatives are (for functions to be minimized):
< The value should be minimized. <= The value should be minimized until the specified limit is reached. = The current value is OK. >= Value can be increased. Value should be kept below the specified upper bound. > Value can change freely. Functions given for maximization, have reversed interpretation for the above notations:
If the second or the fourth alternative is selected, you are asked to specify the bounds for the function values; that is, aspiration levels and upper/lower bounds, respectively.
> The value should be maximized. >= The value should be maximized until the specified limit is reached. = The current value is OK. <= Value can be decreased. Value should be kept above the specified lower bound. < Value can change freely. Since we are dealing with Pareto optimal solutions (compromises) we must be willing to give up something in order to improve some other objective. That is why the classification is feasible only if at least one objective function is in the first two classes and at least one objective function is in the last two classes.
- Aspiration level defines a desired value for the objective function.
- Upper/lower bound defines the limit value that the function should not exceed, if possible.
In other words, you must determine at least one function whose value should be made better. However that can not be done if there are no functions whose value can be worsened.
Example page of numeric classification
The graphical classification is an alternative to the numerical classification. You can select it by choosing the Use graphical classification instead - operation from the function classification page. The current solution is shown graphically as a bar chart. The top of the blue bar indicates the current solution. Classification is made by using the mouse. The colour of each bar changes after the classification is made.Let us assume that the function under classification should be minimized. When you click inside the bar, the system considers the clicking point as a new limit value and inserts the numerical data into the limit field automatically. Selecting the point below the current solution means that function should be minimized (<=) until that limit is reached. If the point is selected above the current solution, we allow the function value to increase (>=) to that limit. Clicking a point below the whole bar means that the function should be minimized as much as possible (<). Also if the value is selected above the whole bar, the function value can change freely (>). To repeat the selection from the previous iteration, the same operation can be done by leaving the bar untouched. If the current value of some function is satisfactory (=), you can express it by clicking the numeric value beside the bar.
In the case of maximization, the logic above is reversed. For example, if you click a point above the current solution, it indicates that the function should be maximized as much as possible. The desired extreme point of each function is indicated by a small black triangle inside the top or the bottom of each bar.
Since the graphical classification is usually more or less inaccurate, you are able to refine your classification numerically. A new page appears after each click. Whenever appropriate, there are already estimated values specified in the field(s), based on the click position.
When using graphical classification, please do not use the Back - button of your browser! Otherwise you may lose some information concerning the problem specified and coming back to the previous page may be impossible.
Example page of graphical classification
The result of the optimization is a vector, where the components are the values of the objective functions. When optimizing the functions individually and creating the vector of these values, we get the ICV; that is, the Ideal Criterion Vector.The ICV tells us the best solution that exists for each objective, when the functions are treated independently. However, the ICV vector is infeasible because it is usually impossible to get everything at the same time - one must make compromises. For minimized functions ICV represents the lower bounds in the set of Pareto optimal solutions and the values are shown on the x-axis of the bar graph. For maximized functions ICV represents the upper bounds in the Pareto optimal set and the values can be found at the top of the bars. If the problem is complicated (that is, nonconvex) the actual components of ICV are difficult to calculate. Thus, to make sure, we refer to ICV as an estimated ICV.
Nadir is somehow the opposite to ICV. It consists of component values for the 'worst case' solution vector. For minimized functions Nadir represents the upper bounds in the set of Pareto optimal solutions and the values can be found at the top of the bars. For maximized functions Nadir represents the lower bounds in the Pareto optimal set and the values are shown on the x-axis of the bar graph. In practise, the Nadir vector is only an estimation because it is also difficult (even impossible, in a general case) to calculate.
The estimated components of the ICV and the Nadir vector are updated during the calculations, whenever the solver founds improved values. If you know the exact values or better estimates of the ICV and Nadir vectors, you can correct the estimates of the system by selecting the corresponding button. However, this is not recommended unless you really know what you are doing.
This selection contains local and global optimization methods. If the functions are simple, local optimization should be capable of solving the problem. If there does not seem to appear desired results, then global optimization is recommended. However, global optimization is much more slower than local optimization. More information about different optimization methods can be found form NIMBUS - Optimizers help page.
NOTE: When using integer optimization, only global optimizers are displayed.
This selection determines the maximum number of new solutions generated by the classification given. The number of new solutions can be lower than the value selected here (for example, some of the generated solutions might be identical, so they are not shown).
The system does not offer a possibility to change the objective functions directly. However, this can be done by saving the problem and opening it again. You can enter the Save the problem - page at any stage of the solution process. There you can save your problem for further use (see Loading and saving problems). After saving the problem, it can be loaded by choosing the Another problem - operation. When the new page appears, you should use its Open a saved problem - operation to get into the loading page. There you only have to select the recently saved problem with the Open the problem and modify it - operation. Now you are able tho change the objective function, variables etc.
In the following example we use numeric classification.
The first solution we get from NIMBUS is reasonable. However, we want to increase the cylinder's volume as much as possible, still keeping the surface area and height difference low.
To do this, we check the rightmost ( > ) radiobutton from the line describing the current solutions, because we allow (for now) the volume to be varied freely. The next line describes the solution for the surface area function. We want to know how much the volume will be when the surface area is 1900, so we choose the second button from the right ( >= ). For height difference we check the second radiobutton from the left ( <= ).
After submitting this information a new page appears asking for the aspiration functions of the third function and boundary values of the second function. The desired level defines a desired value for the objective function. The value must be lower than the current solution, but greater than the ICV vector (lowest solution). In this case, the number is 2. The upper bound is the largest allowable objective function value. This value must be greater than the current solution, but lower than the Nadir vector (highest solution). In this case, the number is 1900.
Example page of setting bounds