Multiple objective function and constraint evaluation for OptionsMatlab

Optjobparallel evaluates user defined objective and constraint functions in parallel. To evaluate the objective function the user must define two functions, the first which initiates the calculation of the objective function, and the second which returns the values of the objective function.

In practice the first function will typically perform a Globus GRAM job submission returning a handle which can be polled and an application specific job ID. The second function will typically use the application specific job ID to retrieve the output of the GRAM job and parse the objective function (and optionally the values of the constraints also).

The user-defined objective function called by optjobparallel to perform the job submission should conform to the following function prototype:

[JOBHANDLE,RETRIEVALID]=objfun(VARS,PARAMS,U_CONS,L_CONS,DATA) where JOBHANDLE is a GRAM job handle which can be polled by gd_jobpoll, and RETRIEVALID is an identifier used by retrieve the results. If JOBHANDLE is empty it will not be polled. The only mandatory input argument is VARS, the other input arguments PARAMS, U_CONS, L_CONS and DATA are all optional.

This function must be specified in the OPTFUN field of the OptionsMatlab input structure.

A second retrieval function is be defined to return the value of the objective function. This function must have the same name as the job submission function appended with '_parse'. For example when the objective function submission function is saved in the file 'objfun.m' the retrieval function must be saved in the file 'objfun_parse.m'.

The retrieval function should conform to the following function prototype:

[EVAL,PARAMS,CONS,U_CONS,L_CONS]=objfun_parse(RETRIEVALID) where RETRIEVALID is the identifier returned by the job submission function. EVAL is the value of the objective function. The other output arguments PARAMS, CONS, U_CONS and L_CONS are all optional. CONS is the value of the constraints.

If the value of the constraints and the objective function are return by the same function the field OPTCON should be set to equal OPTFUN. Alternatively if the constraints are evaluated independently of the objective function the user may also define two separate functions to perform the job submission and to parse the constraints. In this case the functions indicated by the field OPTCON should conform to the following function prototypes:

[JOBHANDLE,RETRIEVALID]=objcon(VARS,PARAMS,U_CONS,L_CONS,DATA)

[CONS,PARAMS,U_CONS,L_CONS] = objcon_parse(RETRIEVALID)

optjob, OptionsMatlab, optjobparallel2

Copyright © 2007, The Geodise Project, University of Southampton