Tarea técnica

The basic idea of CRO is to simulate coral colonies that develop and compete for space on a reef, ultimately forming an optimal structure. Each coral in the reef represents a potential solution to the optimization problem under consideration.

The reef is modeled as a two-dimensional N×M grid. Each grid cell can either be occupied by a coral or left empty. A coral is a coded solution to an optimization problem. For each coral, a fitness (health) function is determined that corresponds to the objective function of the optimization problem.

The ρ₀ ∈ (0,1) parameter determines the initial proportion of the reef occupied by corals, that is, the ratio of occupied cells to the total number of cells at the beginning of the algorithm. Initialization of the reef is performed as follows:

  1. The reef size of N×M and the initial filling fraction ρ₀ are specified.
  2. ⌊ρ₀ × N × M⌋ reef cells are randomly selected to house the starting corals.
  3. Initial corals are generated randomly within the search area and placed in the selected cells.

After the reef is initialized, an iterative process of reef formation and development begins, consisting of several stages:

Broadcast Spawning. For this type of reproduction, a certain proportion of Fₑ existing corals is selected. The selected corals form pairs and create offspring using crossover operators. Each pair produces a larva using the crossover operator (ordinary averaging).

Brooding. The remaining fraction of corals (1-Fₑ) engage in brooding where each coral produces offspring through mutation. For each coral selected for brooding, a larva is created using a mutation operator. The larva typically represents a small random variation of the encoded solution. Larval settlement. After the larvae are formed, each one tries to take its place in the reef during the reproductive stages. The settlement is carried out according to the following rules:

  1. The larva randomly chooses a cell (i, j) in the reef.
  2. If the cell is free, the larva occupies it.
  3. If the cell is occupied, the larva can displace the existing coral only if its fitness is higher: f(larva) > f(Ξᵢⱼ).
  4. If displacement does not occur, the larva may try to settle in another place (up to a maximum k number of attempts).
  5. If after k attempts the larva fails to find a place, it dies.

Asexual reproduction (budding). The best corals in a reef (Fₐ fraction) can reproduce asexually, creating exact copies of themselves (clones). Formally:

  1. Corals are sorted by the fitness function.
  2. The best Fₐ × 100% corals are selected for asexual reproduction.
  3. Each selected coral creates a clone that attempts to settle in the reef according to the same rules as during the larval settlement.

Depredation. At the end of each iteration, the worst corals in the reef may die with Pd probability, making room for new corals in the next iterations.

The reef formation is repeated until the specified stopping criterion is met, such as reaching the maximum number of iterations. After stopping, the best coral in the reef represents the found solution to the optimization problem.


Han respondido

1
Desarrollador 1
Evaluación
(16)
Proyectos
35
23%
Arbitraje
4
0% / 50%
Caducado
2
6%
Trabaja
2
Desarrollador 2
Evaluación
(395)
Proyectos
556
41%
Arbitraje
30
57% / 3%
Caducado
57
10%
Libre
Ha publicado: 11 ejemplos
3
Desarrollador 3
Evaluación
(75)
Proyectos
80
6%
Arbitraje
46
11% / 54%
Caducado
7
9%
Trabaja
4
Desarrollador 4
Evaluación
(3)
Proyectos
4
0%
Arbitraje
2
0% / 100%
Caducado
1
25%
Libre
5
Desarrollador 5
Evaluación
(623)
Proyectos
730
34%
Arbitraje
48
52% / 40%
Caducado
14
2%
Trabaja
6
Desarrollador 6
Evaluación
(22)
Proyectos
28
7%
Arbitraje
9
33% / 33%
Caducado
1
4%
Trabaja
7
Desarrollador 7
Evaluación
(1)
Proyectos
1
100%
Arbitraje
0
Caducado
0
Libre
8
Desarrollador 8
Evaluación
(1)
Proyectos
1
0%
Arbitraje
1
0% / 100%
Caducado
0
Libre
9
Desarrollador 9
Evaluación
(5)
Proyectos
6
50%
Arbitraje
0
Caducado
1
17%
Libre
10
Desarrollador 10
Evaluación
(369)
Proyectos
457
55%
Arbitraje
24
54% / 17%
Caducado
31
7%
Trabaja
11
Desarrollador 11
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
12
Desarrollador 12
Evaluación
(13)
Proyectos
22
41%
Arbitraje
8
0% / 50%
Caducado
3
14%
Trabaja
13
Desarrollador 13
Evaluación
(13)
Proyectos
14
64%
Arbitraje
0
Caducado
0
Libre
14
Desarrollador 14
Evaluación
(7)
Proyectos
5
0%
Arbitraje
5
0% / 80%
Caducado
1
20%
Trabaja
15
Desarrollador 15
Evaluación
(21)
Proyectos
29
41%
Arbitraje
8
25% / 38%
Caducado
2
7%
Ocupado
Ha publicado: 8 artículos, 35 ejemplos
16
Desarrollador 16
Evaluación
(73)
Proyectos
257
53%
Arbitraje
16
50% / 38%
Caducado
83
32%
Libre
17
Desarrollador 17
Evaluación
(7)
Proyectos
6
0%
Arbitraje
4
25% / 75%
Caducado
2
33%
Libre
18
Desarrollador 18
Evaluación
(55)
Proyectos
92
24%
Arbitraje
8
75% / 13%
Caducado
44
48%
Libre
19
Desarrollador 19
Evaluación
Proyectos
1
0%
Arbitraje
2
0% / 100%
Caducado
0
Libre
20
Desarrollador 20
Evaluación
(1)
Proyectos
2
0%
Arbitraje
0
Caducado
2
100%
Libre
21
Desarrollador 21
Evaluación
Proyectos
2
0%
Arbitraje
0
Caducado
1
50%
Libre
22
Desarrollador 22
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
23
Desarrollador 23
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
24
Desarrollador 24
Evaluación
(64)
Proyectos
144
46%
Arbitraje
21
38% / 24%
Caducado
32
22%
Libre
25
Desarrollador 25
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
26
Desarrollador 26
Evaluación
(15)
Proyectos
15
33%
Arbitraje
1
0% / 100%
Caducado
1
7%
Libre
Solicitudes similares
I have the Fisher Indicator shown below the chart. I need an alert added for when the Fisher Indicator hits the 50 point at the end of each period. GBPUSD and EURUSD 4H charts are provided and I can provide additional
//———————————————————————————————————————————————————————————————————— struct S_MCAV { double matureSum; double totalSum; double value; void Init () { matureSum = 0.0; totalSum = 0.0; value = 0.5; } void AddContext (int ctx) { totalSum += 1.0; if (ctx == 1) matureSum += 1.0; } void ApplyDecay (double rate) { matureSum *= rate; totalSum *= rate; } void Update () {
MetaTrader 5 (MT5) Price-Level Monitoring & Automated Phone Call Alert System Developer Needed Project Overview I am looking for an experienced developer to build a custom trading assistant for MetaTrader 5 (MT5) that monitors important price levels I manually mark on my charts and immediately calls my phone when the market reaches or interacts with those levels. This is Phase 1 of a larger trading assistant project
MT4/MT5 HFT EA us30 30 - 3000 USD
Hello everybody, I'm looking for an experienced MQL4/MQL5 developer to optimize a High-Frequency Trading (HFT) Expert Advisor for both MT4 and MT5. The EA performs consistently and profitably on demo accounts, but when it is run on Raw and Standard live accounts under what appear to be the same trading conditions, it begins generating losses. I do not have the original source code (.mq4/.mq5); I only have the
I need an Expert Advisor (EA) programmed and designed to help me with trading. Requirements: * The programmer must have experience in implementing software projects. * The script must be high-quality, clean, clear, and editable at any time, with ownership of the script provided. * It must work on the MT4 platform. * The maximum project completion time is 7 to 14 days. * The programmer must be cooperative and

Información sobre el proyecto

Presupuesto
850+ USD
Plazo límite de ejecución
de 3 a 8 día(s)