Difference between newSolution and Initialization
A Free and Open Source Java Framework for Multiobjective Optimization
Brought to you by:
dhadka
Hi, I am not sure in which cases the method 'newSolution' is used to obtain new solutions and which cases the Initialization class is used.
In my case, the framework seems to not use 'newSolution' method. However, as I want to distributed it, a FutureSolution is required and the only way to get hold of it transparently seems to be the 'newSolution' method of the DistributedProblem class.
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
newSolution
is called to get the definition of a solution for a problem. The resulting solution will define the lower and upper bounds for each decision variable, but the variable will not yet be assigned an actual value.The
Initialization
class is used to generate the initial population for an algorithm. For example,RandomInitialization
will generate N solutions whose variables are sampled uniformly at random.In general,
newSolution
is called during initialization. Afterwards, most algorithms just create copies of the parent solutions (using thesolution.copy()
method) rather than callingnewSolution
, which is why you probably don't seenewSolution
called often.If you are using the
Executor
class (seeExample1.java
included in the source code), then you will not need to worry aboutDistributedProblem
andFutureSolution
. The Executor will automatically convert your problem to aDistributedProblem
.Please refer to Chapter 10 in the User Manual for more details on parallelization.
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
Well this clarifies a lot! Thank you.