CPXXmultiobjopt and CPXmultiobjopt

The routine CPXXmultiobjopt/CPXmultiobjopt performs a multiobjective optimization on a CPLEX problem object.

int   CPXXmultiobjopt( CPXCENVptr env, CPXLPptr lp, CPXCPARAMSETptr const * paramsets)

int   CPXXmultiobjopt( CPXCENVptr env, CPXLPptr lp, CPXCPARAMSETptr const * paramsets)

Description

The routine CPXXmultiobjopt/CPXmultiobjopt performs multiobjective optimization. If paramsets is NULL then all optimizations are performed with the parameter settings currently in the environment. If paramsets is not NULL then it must be an array of parameter sets of length at least the number of optimizations to be performed (which is the number of different priorities in the objectives). The parameter sets in the paramsets array are then used one-by-one in the optimizations.

For more details on multiobjective optimization in CPLEX, see Multiobjective optimization in the CPLEX User's Manual and Multiobjective optimization for related Callable Library functions.

Arguments

env

A pointer to the CPLEX environment as returned by CPXXopenCPLEX/CPXopenCPLEX.

lp

A pointer to a CPLEX problem object as returned by CPXXcreateprob/CPXcreateprob.

paramsets

An array of CPXCPARAMSETptr objects with a length at least equal to the number of optimizations to be performed (i.e., the number of unique priorities assigned to the objectives). The i-th optimization will be performed with parameter set paramsets[i] applied on top of CPLEX's default parameter settings. If paramsets[i] is NULL then the parameter settings from the current environment will be used for the i-th optimization.

This argument can be NULL in which case every optimization will be performed using the parameter settings from the current environment.

Return

The routine returns 0 (zero) if successful and nonzero if an error occurs.

Example


        status = CPXmultiobjopt (env, lp, paramsets);