Multiverse Optimization Algorithm (MVO) - with Matlab code

Table of contents

Summary:

MVO algorithm logic introduction:

MVO algorithm process:

Introduction to multi-objective MVO algorithm:

Matlab code running effect display:

1. CSR

 2. MOMVO

Complete Matlab code sharing: 


Summary:

The multiverse optimization algorithm (Multi-verse Optimization, MVO) was proposed by S Mirjalili in 2015. It originates from the fact that the universe has an expansion rate. Using white holes with a higher expansion rate and black holes with a lower expansion rate, the universe A simulation in which particles search through the principle of a wormhole shifting from a white hole to a black hole location. Regardless of the expansion rate of matter in the universe, all matter in the universe will move randomly through the wormhole to reach the position of the best universe. where the number of iterations over the entire universe ensures an improvement in the average expansion rate. During each iteration, white holes are generated by relying on a roulette mechanism, classified according to their expansion rates.

The multiverse optimization algorithm is a new meta-heuristic optimization algorithm proposed in recent years. It has the advantages of fewer parameters, simple structure, high efficiency, and easy understanding. However, like other heuristic algorithms, the multiverse optimization algorithm itself will also exist Some shortcomings, such as the algorithm is easy to fall into local optimum, and the algorithm will have problems such as slow convergence speed in the later running process. Therefore, research on improving the performance of multiverse optimization algorithms has important theoretical significance and application prospects.

The code in this article provides a variety of test functions for verification, which can be replaced by yourself

MVO algorithm logic introduction:

The multiverse optimization algorithm exploits the concepts of white holes and wormholes to explore the search space, whereas wormholes assist in the development of the search space in the multiverse optimization algorithm. Suppose each solution is a universe, and the variables in each solution are objects in a universe. In the process of solving optimization problems, the following rules are applied to the multiverse optimization algorithm: Objects can move between different universes through white holes and black hole tunnels. When two universes are created between a white hole and a black hole tunnel, the universes have an expansion rate, exploiting that the universe with a higher expansion rate has a white hole, and the universe with a lower expansion rate is said to have a black hole, and the particles in the universe pass through the wormhole Simulation of the search from the principle of shifting positions from white holes to black holes. This mechanism allows objects to be easily exchanged between universes. Regardless of the expansion rate of matter in the universe, all matter in the universe will move randomly through the wormhole to reach the position of the best universe. where the number of iterations over the entire universe ensures an improvement in the average expansion rate. During each iteration, white holes are generated by relying on a roulette mechanism, classified according to their expansion rates. White hole black hole wormhole diagram:

The composition of the individual algorithm is as follows:

where d is the number of variables and n is the number of universes (candidate solutions).

 

MVO algorithm process:

Step1. Initialize the control parameters: the number of universes N, parameters WEP, TDR, threshold H and the maximum number of iterations iterMax;

Step2. Initialize the cosmic group, find the current cosmic black hole and its position, and calculate its fitness value;

Step3. According to the calculated value obtained in Step2, initialize the optimal value and the optimal recording point.

Step4. All individuals transfer from the white hole to the black hole and gather. With the current optimal universe position point as the center, a new optimal position point is generated according to the transfer aggregation rules to replace the original point.

Step5. Calculate the fitness of each point, record the optimal value and the optimal universe point.

Step6. Black hole individual update. Set WEP, if 2rWEP and the individual fitness value of the updated black hole is better than the original, then update the individual according to the update formula (2.3), otherwise it will not be updated.

Step7. Record the optimal value and optimal point.

Step8. Evaluate the entire universe population and analyze the results.

Step9. The number of iterations is increased by 1. If the number of iterations is less than the specified number, go to Step4, otherwise go to Step10.

Step10. If the end precondition of the algorithm is satisfied, then output the optimal solution and end, otherwise continue to step Step4.

Introduction to multi-objective MVO algorithm:

In order to solve the multi-objective optimization problem, MirjaliliS. et al. proposed a multi-objective multiverse algorithm (Multi Objective Multi-Verse Optimizer, MOMVO) (MirjaliliS., 2017). The multi-objective multiverse algorithm is a multi-objective version of the multiverse algorithm. In order to develop the multi-objective version of MVO, the archive mechanism is first integrated into MVO. MOMVO's archive stores the best undominated repositories ever obtained. The search mechanism in MOMVO is very similar to MVO where the solution is improved using white holes, black holes and wormholes. In order to select a suitable solution from the archive to establish a tunnel between solutions, a leader selection mechanism is adopted in this paper. In this approach, the crowding distance between each solution in the archive is first chosen, and the number of solutions in the neighborhood is used as a measure of coverage or diversity. MOMVO needs to select a solution with a roulette wheel from an area with a small number of groups in the archive to improve the distribution of solutions in the archive among all targets, and its selection probability formula is:

In the formula: c is a constant greater than 1, and Ni is the number of all solutions near the i-th solution.

The multiverse archive can only accommodate a limited number of non-dominated solutions, and during the optimization process, the multiverse archive will be full, and it is very likely that key solutions will be missed. Therefore, the algorithm should have a mechanism for removing unneeded solutions from the archive. Unfavorable solutions are those with many neighbors, so this paper requires the archive to discard such solutions. Use the reciprocal of the above formula to set a higher probability of being discarded for those unpopular solutions that are discarded by the MOMVO algorithm.

Using the above operators, the MOMVO algorithm is able to store the Pareto optimal solution in the archive and improve it during iterations. When solutions are compared and added to the archive in a manner similar to that in , this algorithm obeys the following principles:

1 If a new solution dominates any of the solutions in the archive, it should be replaced by them immediately.

2 If a new solution does not dominate a solution in the archive, it should be discarded and not allowed into the archive.

3 If a solution is non-dominated with respect to all solutions in the archive, it should be added to the archive.

If the archive is full, unneeded solutions should be deleted and new non-dominated solutions should go into the archive.

In order to compare all the solutions in MOMVO, the concept of Pareto optimal and Pareto optimal solution is used. This is because solutions cannot be compared with relational operators in a multi-objective search space.

Matlab code running effect display:

1. CSR

 

 

 

 2. MOMVO

Complete Matlab code sharing: 

Guess you like

Origin blog.csdn.net/widhdbjf/article/details/131829517