Generalized entropy index
In computer science, Imperialist Competitive Algorithm (ICA)[1] is a computational method that is used to solve optimization problems of different types. Like most of the methods in the area of evolutionary computation, ICA does not need the gradient of the function in its optimization process.
From a specific point of view, ICA can be thought of as the social counterpart of genetic algorithms (GAs). ICA is the mathematical model and the computer simulation of human social evolution, while GAs are based on the biological evolution of species.
Algorithm
Figure 1 shows the flowchart of the Imperialist Competitive Algorithm. This algorithm starts by generating a set of candidate random solutions in the search space of the optimization problem. The generated random points are called the initial Countries. Countries in this algorithm are the counterpart of Chromosomes in GAs and Particles in Particle Swarm Optimization (PSO) and it is an array of values of a candidate solution of optimization problem. The cost function of the optimization problem determines the power of each country. Based on their power, some of the best initial countries (the countries with the least cost function value), become Imperialists and start taking control of other countries (called colonies) and form the initial Empires.[1]
Two main operators of this algorithm are Assimilation and Revolution. Assimilation makes the colonies of each empire get closer to the imperialist state in the space of socio-political characteristics (optimization search space). Revolution brings about sudden random changes in the position of some of the countries in the search space. During assimilation and revolution a colony might reach a better position and has the chance to take the control of the entire empire and replace the current imperialist state of the empire.[2]
Imperialistic Competition is another part of this algorithm. All the empires try to win this game and take possession of colonies of other empires. In each step of the algorithm, based on their power, all the empires have a chance to take control of one or more of the colonies of the weakest empire.[1]
Algorithm continues with the mentioned steps (Assimilation, Revolution, Competition) until a stop condition is satisfied.
Pseudocode
The above steps can be summarized as the below pseudocode.[2]
0) Define objective function:
1) Initialization of the algorithm. Generate some random solution in the search space and create initial empires.
2) Assimilation: Colonies move towards imperialist states in different in directions.
3) Revolution: Random changes occur in the characteristics of some countries.
4) Position exchange between a colony and Imperialist. A colony with a better position than the imperialist,
has the chance to take the control of empire by replacing the existing imperialist.
5) Imperialistic competition: All imperialists compete to take possession of colonies of each other.
6) Eliminate the powerless empires. Weak empires lose their power gradually and they will finally be eliminated.
7) If the stop condition is satisfied, stop, if not go to 2.
8) End
Variants
Like for PSO, the first version of ICA was proposed for solving continuous optimization problems. Then in other works different variants of ICA were proposed for solving both discrete and continuous problems. For example Chaotic ICA is proposed by Duan, etal.[3] and also a version of this algorithm for handling constrained optimization problems is proposed by Zhang, etal.[4]
Applications
ICA is used to solve different optimization problems in various areas of engineering and science. The following are some of the applications of this algorithm.
- Designing controller for industrial systems[5][6][6][7][8][9]
- Designing Intelligent Recommender Systems[10]
- Solving optimization problems in communication systems.[11][12][13]
- Solving scheduling and production management problems[2][14][15][16][17][18][19]
- Training and analysis of Artificial Neural Networks[20][21]
- Nash Equilibrium Point Achievement[8]
- Design and thermodynamic optimization of plate-fin heat exchangers[22]
- and so on[23][24][25][26]
References
43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.
- ↑ 1.0 1.1 1.2 Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2007_cnf_atashpaz_ica_ica
- ↑ 2.0 2.1 2.2 Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2010_jnl_nazari_integrated_product_mix_outsourcing
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2009_jnl_duan_template_matching_chaotic_ica
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2009_cnf_zhang_improved_ica_constrained_optimization
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2008_en_conf_rajabioun_decentralized_pid_controller_design_mimo_evaporator
- ↑ 6.0 6.1 Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2008_jnl_atashpaz_ijicc_pid_mimo_distillation_column_process
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2007_cnf_atashpaz_optimal_pid_controller_isfs2007
- ↑ 8.0 8.1 Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2008_en_bchtr_rajabioun_nash_equilibrium_point_achievement
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2009_jnl_atashpaz_decentralized_pid_controller_optimal_shrinkage_gershgorin_bands
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2008_cnf_sepehrirad_recommender_systems
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2009_jnl_khabbazi_minimum_bit_error_rate_beamforming
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_2010_en_jnl_Alikhani_Evaluation_of_Image_Segmentation_Methods
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2009_jnl_jolai_pareto_simulated_annealing_offline_scheduling_problem_with_rejection
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2010_jnl_shokrollahpour_bi_criteria_flowshop
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_2010_en_jnl_Forouharfard_schedule_cross_docking_systems
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_2010_en_jnl_Karimi_scheduling_flexible_flow_shops_ica_electromagnetic
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_2010_en_jnl_Bagher_Balancing_of_stochastic_U_Type_assembly_lines
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_2010_en_jnl_Sarayloo_ica_Dynamic_Cell_Formation
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2008_jnl_oskouyi_material_properties_characterization_sharp_indentation_test
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2009_cnf_mahmoudi_ann_weights_optimization
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_moslem_2011
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_en_2010_jnl_lucas_linear_induction_motor
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_2010_en_jnl_omid_phev
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_2010_en_jnl_niknam_k_means_clustering
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedica_2010_en_jnl_mozafari_thin_interphase