public class Offline_cfa_xpMultiperiodModularCapacities extends Object implements com.net2plan.interfaces.networkDesign.IAlgorithm
Given a network with a set of given nodes, and links, and a given a sequence of offered traffic matrices in the network, corresponding to the (typically increasing) traffic of successive periods (e.g. each for one year). The link capacities are constrained to be modular: selectable among a set of user-defined capacity modules. Each capacity module type is characterized by its capacity and its cost. We assume that the costs of the capacity modules decrease along time, according to a cost reduction factor. Then, the algorithm should find for each of the successive periods: (i) the routing of the traffic in each period, (ii) how many NEW modules of capacity are installed in each link. Once a capacity module is installed in a link, we assume that it is never moved. The optimization target is minimizing the total cost along all the periods. This algorithm optimizes the problem solving a flow-path formulation using JOM. |
|
Constructor and Description |
---|
Offline_cfa_xpMultiperiodModularCapacities() |
Modifier and Type | Method and Description |
---|---|
String |
executeAlgorithm(com.net2plan.interfaces.networkDesign.NetPlan netPlan,
Map<String,String> algorithmParameters,
Map<String,String> net2planParameters)
Execute the algorithm.
|
String |
getDescription()
Returns the description.
|
List<com.net2plan.utils.Triple<String,String,String>> |
getParameters()
Returns the list of required parameters, where the first item of each element
is the parameter name, the second one is the parameter value, and the third
one is the parameter description.
|
public Offline_cfa_xpMultiperiodModularCapacities()
public String executeAlgorithm(com.net2plan.interfaces.networkDesign.NetPlan netPlan, Map<String,String> algorithmParameters, Map<String,String> net2planParameters)
com.net2plan.interfaces.networkDesign.IAlgorithm
executeAlgorithm
in interface com.net2plan.interfaces.networkDesign.IAlgorithm
netPlan
- A network plan which serves as input and outputalgorithmParameters
- A key-value map with specific algorithm parameters.Important: The algorithm developer is responsible to convert values from String to their respective type, and to check that values
net2planParameters
- A key-value map with Net2Plan
-wide configuration optionsString
public String getDescription()
com.net2plan.interfaces.networkDesign.IAlgorithm
getDescription
in interface com.net2plan.interfaces.networkDesign.IAlgorithm
getDescription
in interface com.net2plan.internal.IExternal
public List<com.net2plan.utils.Triple<String,String,String>> getParameters()
com.net2plan.interfaces.networkDesign.IAlgorithm
Returns the list of required parameters, where the first item of each element is the parameter name, the second one is the parameter value, and the third one is the parameter description.
It is possible to define type-specific parameters if the default value is set according to the following rules (but user is responsible of checking in its own code):
.class
or .jar
file where the code is located, the class name,
and a set of parameters (pair of key-values separated by commas, where individual
key and value are separated with an equal symbol. The same applies to reports (#report#),
event generators (#eventGenerator#) and event processors (#eventProcessor#).getParameters
in interface com.net2plan.interfaces.networkDesign.IAlgorithm
getParameters
in interface com.net2plan.internal.IExternal