Water Resources Research Report - Western Engineering ...
Water Resources Research Report - Western Engineering ...
Water Resources Research Report - Western Engineering ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
infeasible solution. Careful selection of the penalty parameters is required for the proper<br />
convergence to a feasible optimal solution.<br />
The main C program has many user-defined functions. The user needs to enter objective<br />
function and constraints in the user-defined function evaluate( ). The program code is<br />
commented, so the user needs to follow the comments to enter the number of constraints,<br />
ncons (in this example, ncons = 2), objective function, constraints (if any) and the penalty<br />
coefficient for each constraint (if any), at the appropriate places. The “evaluate( )”<br />
function for the example problem is displayed below:<br />
double evaluate(double *x)<br />
{<br />
int ncons, i;<br />
double *val, *penal, temp;<br />
long double value=0;<br />
feval++;<br />
/* DO NOT CHANGE ANYTHING ABOVE */<br />
/* Enter the Number of Constraints to the variable ncons*/<br />
ncons = 2;<br />
/*------------------------------------------------------*/<br />
val = (double *)malloc(sizeof(double)*ncons);<br />
penal = (double *)malloc(sizeof(double)*ncons);<br />
penal[0]=1;<br />
/*----------------------CODE YOUR OBJECTIVE FUNCTIONS HERE------------*/<br />
/*All functions must be of minimization type*/<br />
/*============Start Coding Your Objective Function=============*/<br />
val[0] = (x[0]*x[0]+x[1]-11)*(x[0]*x[0]+x[1]-11) +<br />
(x[0]+x[1]*x[1]-7)*(x[0]+x[1]*x[1]-7);<br />
/*========END YOUR CODING UPTO THIS POINT============*/<br />
12