All Downloads are FREE. Search and download functionalities are using the official Maven repository.

MOEAFramework-2.12.examples.dtlz2.c Maven / Gradle / Ivy

There is a newer version: 4.3
Show newest version
/* Copyright 2009-2016 David Hadka
 *
 * This file is part of the MOEA Framework.
 *
 * The MOEA Framework is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or (at your
 * option) any later version.
 *
 * The MOEA Framework is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
 * License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with the MOEA Framework.  If not, see .
 */
#include 
#include 
#include "moeaframework.h"

#define PI 3.14159265358979323846

int nvars;
int nobjs;

/**
 * Function for evaluating the DTLZ2 problem.
 */
void evaluate(double* vars, double* objs) {
	int i;
	int j;
	int k = nvars - nobjs + 1;
	double g = 0.0;

	for (i=nvars-k; i= 3) {
		nobjs = atoi(argv[2]);
		nvars = atoi(argv[1]);
	} 

	double vars[nvars];
	double objs[nobjs];

#ifdef USE_SOCKET
	MOEA_Init_socket(nobjs, 0, NULL);
#else
	MOEA_Init(nobjs, 0);
#endif

	while (MOEA_Next_solution() == MOEA_SUCCESS) {
		MOEA_Read_doubles(nvars, vars);
		evaluate(vars, objs);
		MOEA_Write(objs, NULL);
	}
	
	MOEA_Terminate();

	return EXIT_SUCCESS;
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy