Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Challenge: Implement Particle Swarm Optimization | Swarm-Based Algorithms
Bio-Inspired Algorithms

bookChallenge: Implement Particle Swarm Optimization

Oppgave

Swipe to start coding

You are asked to implement the core update logic for a Particle Swarm Optimization (PSO) algorithm. The goal is to find the minimum of the function f(x) = x² + 5 * sin(x) on the interval [-10, 10].

All the parameters (like inertia w, cognitive c1, and social c2) and initial lists (positions, velocities, pbest_positions, pbest_values, gbest_position, gbest_value) are already set up for you.

Your task is to fill in the main iterative process:

  1. Inside the inner for loop (for each particle i), you must first update the particle's velocity. Use the full PSO velocity update equation: w * velocities[i] + c1 * r1 * (pbest_positions[i] - positions[i]) + c2 * r2 * (gbest_position - positions[i]).
  2. Update the particle's position by adding its new velocities[i] to positions[i].
  3. After calculating the new value at positions[i], check if this new value is better than the particle's personal best (pbest_values[i]). If it is, you must update both pbest_positions[i] and pbest_values[i].
  4. After the inner loop (which updates all particles), check if the new best personal value (which you find and store in min_value) is better than the current global best (gbest_value). If it is, update both gbest_value and gbest_position.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain this in simpler terms?

What are some examples related to this topic?

How does this information apply to real-life situations?

close

Awesome!

Completion rate improved to 6.25

bookChallenge: Implement Particle Swarm Optimization

Sveip for å vise menyen

Oppgave

Swipe to start coding

You are asked to implement the core update logic for a Particle Swarm Optimization (PSO) algorithm. The goal is to find the minimum of the function f(x) = x² + 5 * sin(x) on the interval [-10, 10].

All the parameters (like inertia w, cognitive c1, and social c2) and initial lists (positions, velocities, pbest_positions, pbest_values, gbest_position, gbest_value) are already set up for you.

Your task is to fill in the main iterative process:

  1. Inside the inner for loop (for each particle i), you must first update the particle's velocity. Use the full PSO velocity update equation: w * velocities[i] + c1 * r1 * (pbest_positions[i] - positions[i]) + c2 * r2 * (gbest_position - positions[i]).
  2. Update the particle's position by adding its new velocities[i] to positions[i].
  3. After calculating the new value at positions[i], check if this new value is better than the particle's personal best (pbest_values[i]). If it is, you must update both pbest_positions[i] and pbest_values[i].
  4. After the inner loop (which updates all particles), check if the new best personal value (which you find and store in min_value) is better than the current global best (gbest_value). If it is, update both gbest_value and gbest_position.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
single

single

some-alt