/ICA

Imperialist Competitive Algorithm implementation class in C++

Primary LanguageC++

# ICA
Imperialist Competition Algorithm implementation class in VC++ 
By defining an object of this class and setting the relevant parameters through constructor function arguments, 
an Imperialist competition algorithm can be implemented for a problem. The constructor function parameters describe as follow:
    ParIndex: list of index values of any country parameter.
    ParamVal: list of possible values of each country parameters.
    CountryNum: the number of countries.
    ImpNum: the number of imperialists in the beginning decade.
    DecadeNum: number of decades( maximum number of repetitions algorithm).
    RevolutionRate: the rate of revolution event in countries.
    IsEqualParamValAllowed: if each parameter value must be unique this parameter must set to false.
    CostFunc: fitness function address that must return a double value.
    inAcceptableCostVal: unacceptable maximum value for cost function( if a country has a cost value as equal as or grater than from it. will be eliminated in the execution cycle.
    logfileName: file name for reporting the operations
after the creation of an ICA object via calling the Compet() function, the best answer in the map format of<int ,int> will return to you