Comments (6)
Indeed. We never really thought through the champion concept for stochastic optimization cases. I would see some options:
- Deactivate the champion as we do for multiobjective optimization, throwing if it is queried
- Delegate to the UDAs the task of resetting the champion when the seed is changed
Maybe 2) should be the way to go?
Example:
Change the Seed
Recompute the champion fitness in the new seed and force the champion to have it
Recompute all the population fitnesses in the new seed
from pagmo2.
The approach 2) above would require to implement a clear_champion method in population:
Change the Seed
Store the champion X
Clear the champion
Recompute the fitness of X in the new seed
Recompute all the population fitnesses in the new seed
Set the champion to the best of all the above
from pagmo2.
It puts a bit of an additional burden to the programmer of the algorithm. On the other hand: a user (who has no idea and just wants a problem to be optimized) might not need the champion or might have even false assumptions about the meaning of it.
from pagmo2.
As a temporary solution #161 activates a throw if the champion is requested in stochastic optimization problems
from pagmo2.
This solution conflicts at the moment with the default print of islands, which wants to show you the champion. See:
isl = pg.island(algo = pg.sga(), prob = pg.inventory(), size=100)
print(isl)
ValueError Traceback (most recent call last)
<ipython-input-62-0fb3b4c0cefa> in <module>()
----> 1 print(isl)
ValueError:
function: champion_x
where: C:\bld\pygmo_1523717981890\_b_env\Library\include\pagmo/population.hpp, 439
what: The Champion of a population can only be extracted for non stochastic problems
from pagmo2.
Fixed in #198.
from pagmo2.
Related Issues (20)
- MinGW installation problem HOT 1
- how to run pagmo2 in parallel cluster? HOT 1
- [BUG] redundant code in moead.cpp HOT 2
- [BUG] Could NOT find pagmo_IPOPT (missing: PAGMO_IPOPT_INCLUDE_DIR) HOT 1
- [BUG] No 2.19.0 tag HOT 2
- [BUG] moead_gen is not documented HOT 2
- [FEATURE] PAGMO_VERSION HOT 2
- Scaling of design variables and
- How to optimize with algorithms::ipopt? HOT 2
- [BUG] Maximize function with Ipopt: incorrect population returned HOT 2
- [BUG] Compilation problem with IPOPT HOT 7
- Question: Use of Hessian with Ipopt
- pagmo-devel 2.19 build 3 not found by meson build system HOT 5
- Passing arguments in a user defined problem HOT 6
- Uninitialized variables may be used in cec2014 problem
- MPI Island class for cluster computing HOT 1
- Avoid multiple definitions of mathematical constants
- No "NaN/infinity" verification in sbx crossover implementation AND no bounds verification for NSGA-II's initial population
- Add NSGA-III implementation
- Question about get_bounds() HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pagmo2.