2. C OMPORTAMIENTO H UMANO
2.5 C ONTROL DE DOCUMENTACIÓN DE CONDUCTORES
2.6.6 J ORNADAS LABORALES
The DECGrid prototype provides GUI using HTML (Hypertext Mark-up Language), JavaScript and PHP programming languages. C is used for the NSGA-II optimisation algorithms to write codes that perform the actions that the models built are expected to deliver. There are two interfaces for getting models into the NSGA-II. One interface helps design experts to build explicit mathematical models while the other allows complex implicit mathematical models to be uploaded from a file unto the NSGA-II. The first interface which is the explicit model building interface will be discussed first. After choosing a domain, to build an explicit model for the domain, four generic fields are used. These are variable name (independent variable or constant), left operator, right operator and output variable (dependent variable). The left and right operators are mathematical operators such as plus sign, minus sign, brackets and multiplication signs. To build a model, a user will enter variable and/or left/right operators and submit continuously until all input variables are complete for an equation/inequality. The last action to generate an equation in a model is to enter the output variable together with equality sign (=) and click submit. This will create an equation. This process is repeated for the next equation until all equations and relations in the model are created. This process can be done by different experts on different parts of the model and can still be merged to obtain a single model for a problem. Figure 5.16 below shows the design of the explicit model building interface.
Explicit Model Building Interface
Variable name:
Left operator(s):
Right operator(s):
Output variable and assignment sign:
Back Submit Display Append Next
Change Parameters NSGA-II Optimisation
Figure 5.17: Explicit model generation
NSGA-II Input Parameters Main Parameter Interface
Enter population size:
Enter no. of generations:
Enter no. of objectives:
Enter no. of constraints:
Enter no. of variables:
Submit Generate R_Var Next
Figure 5.18: NSGA-II input parameters (R_Var=Real Variable) (phase 1)
The system is designed in a way that allows the optimisation engineer to view the model built by clicking the Display button. When the engineer is satisfied with the model, he/she can link the model to the problemdef.c file (this is the file NSGA-II uses to pick models and run optimisation) in NSGA-II code by clicking the Append button. NSGA-II requires a set of parameters to run the optimisation of any model.
Because of this, grid-enabled input parameter interfaces have been designed to accommodate this feature. These interfaces make life easier for the designer than using the conventional command prompt input interface. This interface (Figure 5.17) is linked to optimisation processes where a parameter can be changed to demonstrate how sensitive or otherwise it can be to the results. To perform the optimisation for the model obtained, the NSGA-II Optimisation button is clicked to first obtain optimisation input parameters. When this button is clicked, the first input parameter interface (Figure 5.18) appears.
All evolutional algorithms (EAs) need population size, number of generations, number of objectives, number of constraints and number of variables that constitute the model and constraints. For example, EAs need to know the population size for the selection operation in which good solutions are duplicated and bad ones eliminated keeping the population size constant (Deb, 2001). In addition too small and too large population sizes may result in misleading results and so NSGA-II needs a moderate population size to produce reliable solutions. Thus the population size is proportional to the complexity of the model built (Deb, 2001). In this research, explicit models are relatively simple models while implicit models are complex models. The distributed experts working on models make decision on the values of each parameter before entering them. Figure 5.17 is the first phase of the input parameters. Information on the population size and the number of generations, objectives, constraints and variables is obtained. The system saves the information to PostgreSQL database as well as to the parameter input text file which is redirected and used to run the NSGA- II. The Generate R_Var (Generate Real Variable) command button uses the value of the last input variable (number of variables) to generate the upper and lower bounds for each variable. For example, if there are n numbers of variables, the lower and upper bounds of each of the n variables will be entered and saved immediately below the first five parameters obtained from Figure 5.17 in the same input parameters text file as in Figure 5.18. The design of the interface which allows the design expert to enter lower/upper bounds for n real number of variables is shown in Figure 5.19.
Real Variable Boundary Values
Enter lower bound of variable 1:
Enter upper bound of variable 1:
Enter lower bound of variable n
Enter upper bound of variable n
Submit
Figure 5.19: Boundary values for real variables
The next input interface is shown in Figure 5.20. This takes the service to faze 2 of the input parameters procedure. Figure 5.19 is the interface for this phase. This interface allows the user to enter probability of crossover of real variable, probability of mutation of real variable, distribution index of crossover variable and number of binary variables. The inputs are appended to the same parameter file containing the previous parameters and also get saved in the PosgreSQL database for reuse. The Generate B_Var (generate binary variables) button takes the last value of the parameter in Figure 5.20 (number of binary variables) to generate the number of bits, minimum number of binary variable and maximum number of binary variable for each binary variable. Figure 5.21 shows the design for this interface.
NSGA-II Input Parameters Phase 2
Enter probability of crossover of real variable:
Enter probability of mutation of real variable:
Enter distribution index crossover variable:
Enter no. of binary variables:
Back Submit Generate B_Var Next
Properties of Binary Variables
Enter no. of bits for binary variable 1:
Enter minimum no. of binary variable 1:
Enter minimum no. of binary variable n:
Enter maximum no. of binary variable n:
Submit
Figure 5.21: Properties of binary variables
The properties for the binary variables are also appended to the input parameters text file. In this research, binary variables are not used; only real variables are applicable for the three case studies. But the functionality for binary variables is implemented so that a generic system is built to cater for different category of users. The last phase (phase 3) of the input parameters interface is shown in Figure 5.22.
NSGA-II Input Parameters Phase 3
Enter probability of crossover for binary variable:
Enter probability of mutation for binary variable:
Enter choice to display real-time data gnuplot (1 or 2):
Enter the 3 indices (obj1, obj2, obj3) for x, y, z axes:
Enter polar and azimuth angles (angle1, angle2):
Back Submit Run NSGA-II Next
The concluding NSGA-II input parameters in Figure 5.22 are probability of crossover of binary variable, probability of mutation of binary variable, display choice (graphical or only text results), indices of the objectives and polar/azimuth angles. These parameters are also saved (appended) again in the input parameters text file as the previous parameters.
The input parameters are ready for NSGA-II to perform the reproduction, crossover and mutation operations. At the end of the last generation, the GNUPLOT capability in NSGA-II plots the Pareto front of non-dominated solutions. The interfaces described make up the parameter and NSGA-II optimisation service.
Figure 5.23 is the interface that uploads mathematical model for implicit models. In this case, the model is obtained from a file and linked to NSGA-II problemdef.c file. The case study for the turbine blade cooling system is an implicit model and this interface is used to upload the model for optimisation. The remaining two case studies (welded beam problem and design of a manufacturing plant layout) are both explicit models and the explicit interface is used for building the models.
Implicit Model Interface
Enter model file name:
Upload Submit Display Append Next
Sensitivity Analysis NSGA-II Optimisation
Figure 5.23: Implicit model generation
The model is uploaded and the same procedure for obtaining parameters as in the case of explicit model and is followed. This means that the design ensures that the system implements the same actions as is described in explicit models. Figure 5.24 describes
the high level relationships of the services discussed and the interfaces as a tree diagram.
Model Development Service
Quantitaive Model Qualitative Model
Explicit Math Model
Implicit Math Model
Collaboration Service
Compute Service Optimisation
Service Interfaces NSGA-II Input Parameters Phase 1 NSGA-II Input Parameters Phase 2 NSGA-II Input Parameters Phase 3 Link Outputs to Parameters
Display Optimisation Results and Plot Pareto Front
Run NSGA-II
Figure 5.24: Tree diagram of the services and interfaces