Giter Club home page Giter Club logo

coyote-optimisation-algorithm-coa-matlab's Introduction

Coyote Optimisation Algorithm COA in Matlab

Description

This repository contains a stochastic optimisation algorithm developed in the Matlab environment. It is a Coyote Optimization Algorithm (COA) that was used in a master's thesis to optimize the operation of a wastewater treatment plant. It is an algorithm that minimises a given objective function.

The algorithm was developed based on the article:

Nguyen T. T., Pham T. D., Kien L. C., Van Dai, L.: Improved coyote optimization algorithm for optimally installing solar photovoltaic distribution generation units in radial distribution power systems.

However, this is a version of the algorithm without improvements.

Launch

To run the algorithm, open the RunCOA.m script in the Matlab environment. Inside it you have the possibility to choose two objective functions to be optimised by the algorithm:

  • the first one is the Rastrigin function, which is contained in the file Rastrigin.m,
  • the second one concerns the optimization of the PID controller parameters in a control system with a simple control object. The objective function in this case is the sum of the integral of the square of the control error and the integral of the square of the control signal, which are additionally multiplied by appropriate weights. Changes related to this function can be made in the file sim_model.m.

The choice consists in commenting one of them. If the Rastrigin function is selected, it is only necessary to run the RunCOA.m script. On the other hand, in the case of the second objective function, Simulink must be started and a file named PID_sim_test_coa.slx must be opened. In it, the simulation model of the control system with PID controller is contained.

When the optimization process is complete, the optimization results are displayed in the command window, including the value of the objective function, the values of the decision variables and the time of the calculation.

The COA algorithm requires parameters such as the maximum number of iterations of the algorithm, which is the stopping criterion, the number of coyote groups, the number of coyotes in each group and constraints on the values of the decision variables. These parameters can be changed in the main script of the RunCOA.m program.

When the main script is run, the COA.m function is called, which contains the COA algorithm. This function takes as parameters:

  • the objective function,
  • the maximum number of iterations,
  • the number of coyote groups,
  • the number of coyotes in each group
  • the lower and the upper bounds on the values of the decision variables.

In turn, it returns the optimal values of the decision variables and the optimal value of the objective function.

coyote-optimisation-algorithm-coa-matlab's People

Contributors

adamwonia avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.