• Keine Ergebnisse gefunden

10.2 Models

10.2.2 Set Model

As with the discussion of CPBIN, before we can state the constraints we need to define the used variables. To define a VNMP solution, we again need two sets of main variables. The set variablesPf, ∀f ∈ A0, define for each virtual arc the set of substrate arcs that are used to implement the virtual arc. The set variablesXi, ∀i ∈ V, define for each substrate node which virtual nodes it hosts. Note that this is an indirect way of specifying the locations of the virtual nodes. Defining it this way will become useful later when stating the CPU constraint for substrate nodes.

In addition to those main variables, we need auxiliary variables that allow us to formulate the resource constraints. To define the set of virtual arcs that utilize a substrate arc, we use vari-ablesYe, ∀e ∈ A. These variables are in some sense the duals ofPf, so they cannot express any additional information. However, we need both variable types to specify (and implement) constraints,Pf to define the delay constraints andYe for the bandwidth constraints. Variables Zi, ∀i∈V, contain for each substrate node the virtual arcs that are crossing it. The remaining variables are the same as for CPBIN. Binary variablesuVi , ∀i∈ V, to specify which substrate nodes are used anduAe, ∀e ∈ A, for the used substrate arcs. Integer variables aCPUi , ∀i∈ V, denote bought CPU resources for each substrate node, variablesaBWe , ∀e ∈ A, bought band-width capacities for each substrate arc. To simplify stating the model we define the following four (constant) sets:δk+andδk, ∀k ∈V0, the sets of virtual arcs leaving and entering a virtual

Table 10.2: Variables and auxiliary constants of the CP model based on set variables

k∈V0ck] Additional CPU resources

aBWe ∀eA [0,P

f∈A0bf] Additional bandwidth

δ+k ∀kV0 {fA0|s(f) =k} Outgoing arcs of a virtual node

δk ∀kV0 {fA0|t(f) =k} Incoming arcs of a virtual node

δ+i ∀iV {eA|s(e) =i} Outgoing arcs of a substrate node

δi ∀iV {eA|t(e) =i} Incoming arcs of a substrate node

node andδ+i andδi, ∀i∈V, the sets of substrate arcs leaving and entering a substrate node. A summary of the used variables, constants and their domains is shown in Table 10.2.

The complete CP model for the VNMP based on set variables (CPSET) is defined by equations (10.12)–(10.20). We begin the discussion of CPSET with the objective function as shown in (10.12). As before, the aim is to minimize the cost incurred by having to buy additional re-sources. If it is possible to realize the virtual network load with the available resources, we want to reduce the cost incurred by using the substrate network as much as possible.

min X One type of constraint that we will make heavy use of during the definition of the constraints for CPSET is the disjoint union, which we denote by the symbolt. Its semantics are the same as the regular union, with the additional constraint that the sets being combined are disjoint. As an example, the constraintAtB =Cstates that the setCcontains all elements from setsAand B and each element withinChas to have a unique source, i.e., eitherAorBbut not both. This allows us to state the mapping constraint as shown in equation (10.13) in an elegant way. All virtual nodes have to be hosted on exactly one substrate node.

G

i∈V

Xi =V0 (10.13)

The CPSET model is based on the idea of network flows. The flow conservation constraints are shown in equations (10.14) and (10.15). They state that all virtual arcs that use one of the incoming arcs of a substrate node together with all virtual arcs whose source is mapped to the substrate node give the virtual arcs that are traversing the substrate node. All traversing virtual arcs need to leave either by using an outgoing arc or the mapping of the target of the virtual arc.

By using the disjoint union we enforce that the implementing path for every virtual arc is simple.

G

e∈δi

Yet G

k∈Xi

δk+=Zi ∀i∈V (10.14)

G

e∈δi+

Yet G

k∈Xi

δk=Zi ∀i∈V (10.15)

The following equalities take care of the resource constraints. The amount of CPU resources that have to be bought for a particular substrate node are the resources that are missing after the mapped virtual nodes and all traversing virtual arcs have consumed the available resources, but at least zero.

max(0, X

k∈Xi

ck+ X

f∈Zi

bf−ci) =aCPUi ∀i∈V (10.16) In a similar fashion, the bandwidth constraints state that the amount of extra bandwidth that has to be bought for a substrate arc is the bandwidth that is missing after the virtual arcs using that arc have used up the available resources, but at least zero.

max(0, X

f∈Ye

bf −be) =aBWe ∀e∈A (10.17)

The delay constraints can be stated in a straight forward manner, the delay of all substrate arcs used to implement a virtual arc may not exceed the maximum allowed delay for the virtual arc.

X

e∈Pf

de≤df ∀f ∈A0 (10.18)

To make the objective function work as intended, we need to connect the mapping decisions with the variable that is used to track whether a substrate node is used to host a virtual node. If the set of hosted virtual nodes is not empty, then the substrate node is used.

min(1,|Xi|) =uVi ∀i∈V (10.19)

In the same way, we connect the substrate arc usage to the virtual arcs using the substrate arc. If the set of virtual arcs using a substrate arc is not empty, then the substrate arc is used.

min(1,|Ye|) =uAe ∀e∈A (10.20)

As a last step, we need to add the channeling between the substrate arcs used to implement the virtual arcs and the virtual arcs crossing substrate arcs.

e∈Pf ⇔f ∈Ye ∀e∈A, ∀f ∈A0 (10.21)

This completes the CPSET model. Note that in comparison to CPBIN, we do not need to add additional constraints to include information about fixed nodes or arcs. The domains calculated for the virtual arcs during preprocessing can be used directly to define the domains of the CPSET variables (see Table 10.2); no further constraints or considerations are necessary.

An additional characteristic of CPSET when compared to CPBIN is its greater compactness. For instance, CPBIN requires one constraint per virtual node to ensure valid mappings, for CPSET a single constraint is sufficient. Flow conservation only requires two constraints for every substrate node, while CPBIN needs2|A0|. On the other hand, we need an additional type of variables (Pf) to formulate a valid model of the VNMP. In Section 10.5 we will analyze the practical difference between CPBIN and CPSET.