Package org.cloudsimplus.heuristics
Class CloudletToVmMappingSimulatedAnnealing
java.lang.Object
org.cloudsimplus.heuristics.HeuristicAbstract<S>
org.cloudsimplus.heuristics.SimulatedAnnealingAbstract<CloudletToVmMappingSolution>
org.cloudsimplus.heuristics.CloudletToVmMappingSimulatedAnnealing
- All Implemented Interfaces:
CloudletToVmMappingHeuristic
,Heuristic<CloudletToVmMappingSolution>
public class CloudletToVmMappingSimulatedAnnealing
extends SimulatedAnnealingAbstract<CloudletToVmMappingSolution>
implements CloudletToVmMappingHeuristic
A heuristic that uses Simulated Annealing
to find a sub-optimal mapping among a set of Cloudlets and VMs in order to reduce
the number of idle or overloaded Vm Pe's.
- Since:
- CloudSim Plus 1.0
- Author:
- Manoel Campos da Silva Filho
-
Field Summary
Fields inherited from interface org.cloudsimplus.heuristics.CloudletToVmMappingHeuristic
NULL
-
Constructor Summary
ConstructorDescriptionCloudletToVmMappingSimulatedAnnealing
(double initialTemperature, ContinuousDistribution random) Creates a new Simulated Annealing Heuristic for solving Cloudlets to Vm's mapping. -
Method Summary
Modifier and TypeMethodDescriptionCreates a neighbor solution cloning a source one and randomly changing some of its values.Gets the initial solution that the heuristic will start from in order to try to improve it.void
setCloudletList
(List<Cloudlet> cloudletList) Sets the list of Cloudlets to be mapped toavailable Vm's
.void
Sets the list of available VMs to host Cloudlets.Methods inherited from class org.cloudsimplus.heuristics.SimulatedAnnealingAbstract
getAcceptanceProbability, getColdTemperature, getCoolingRate, getCurrentTemperature, isToStopSearch, setColdTemperature, setCoolingRate, setCurrentTemperature, updateSystemState
Methods inherited from class org.cloudsimplus.heuristics.HeuristicAbstract
getBestSolutionSoFar, getNeighborSolution, getRandom, getRandomValue, getSearchesByIteration, getSolveTime, setBestSolutionSoFar, setNeighborSolution, setSearchesByIteration, setSolveTime, solve
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.cloudsimplus.heuristics.Heuristic
getAcceptanceProbability, getBestSolutionSoFar, getNeighborSolution, getRandomValue, getSearchesByIteration, getSolveTime, isToStopSearch, setSearchesByIteration, solve
-
Constructor Details
-
CloudletToVmMappingSimulatedAnnealing
public CloudletToVmMappingSimulatedAnnealing(double initialTemperature, ContinuousDistribution random) Creates a new Simulated Annealing Heuristic for solving Cloudlets to Vm's mapping.- Parameters:
initialTemperature
- the system initial temperaturerandom
- a random number generator- See Also:
-
-
Method Details
-
getInitialSolution
Description copied from interface:Heuristic
Gets the initial solution that the heuristic will start from in order to try to improve it. If not initial solution was generated yet, one should be randomly generated.- Specified by:
getInitialSolution
in interfaceHeuristic<CloudletToVmMappingSolution>
- Returns:
- the initial randomly generated solution
-
getVmList
- Specified by:
getVmList
in interfaceCloudletToVmMappingHeuristic
- Returns:
- the list of available Vm's to host Cloudlets.
-
setVmList
Description copied from interface:CloudletToVmMappingHeuristic
Sets the list of available VMs to host Cloudlets.- Specified by:
setVmList
in interfaceCloudletToVmMappingHeuristic
- Parameters:
vmList
- the list of VMs to set
-
getCloudletList
- Specified by:
getCloudletList
in interfaceCloudletToVmMappingHeuristic
- Returns:
- the list of cloudlets to be mapped to
available Vm's
.
-
setCloudletList
Description copied from interface:CloudletToVmMappingHeuristic
Sets the list of Cloudlets to be mapped toavailable Vm's
.- Specified by:
setCloudletList
in interfaceCloudletToVmMappingHeuristic
- Parameters:
cloudletList
- the list of Cloudlets to set
-
createNeighbor
Description copied from interface:Heuristic
Creates a neighbor solution cloning a source one and randomly changing some of its values. A neighbor solution is one that is close to the current solution and has just little changes.- Specified by:
createNeighbor
in interfaceHeuristic<CloudletToVmMappingSolution>
- Parameters:
source
- the source to create a neighbor solution- Returns:
- the cloned and randomly changed solution that represents a neighbor solution
-