Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

AttributeRequiredContentValuesDescription
weightNdecimaldefault: 1.0Weight of the operand
objective_functionNObjective function object

functionNString

distance_between,

latency_between, attribute

Function to be performed on the parameters
fucntion_paramsNdict

parameters on which the function will be applied.

The parameters will change for each function.


Examples


Scenario:




Scenario: 

objective function - distance_between(demand, location) + distance_between(demand, location)

...

JSON Viewer
{
   "goal": "minimize",
   "objective_function": {
   "operation": "sum",
   "operands": [
      {
         "function": "attribute",
         "weight": 1.0,
         "params": {
            "demand": "urllc_core",
            "attribute": "latency"      
         } 
      },
      {
         "function": "attribute",
         "weight": 1.0,
         "params": {
            "demand": "urllc_ran",
            "attribute": "latency"      
         } 
      }
   ]
 }
}


Scenario: _

bw =Max  [ 100, 200, 300]

ran_nssi → property bw → func(slice_profile[])

core_nssi  → property bw → func(slice_profile[])

tn_nssi  → property bw→ func(slice_profile[])

Maximize (min sum ( W_bw *  min (ran_nssi_bw, core_nssi_bw, tr_nssi_bw))Max  [ sum , 1/(W_bw *  min (ran_nssi_bw, core_nssi_bw, tr_nssi_bw), 1/(W_lat * ( sum (w1 * ran_nssi_lat, w2 core_lat, W3* tn_lat)) ) ]

Min/max operator:  list of operands

Sum operator : list of operands

prod operator: weight, operand

normalized_unit = func(bw, weight, unit)

normalized_unit = func(lat, weight, unit)

Code Block
languagejs
collapsetrue
{
JSON Viewer
{
   "goal": "maximize",
   "objective_function": {
   "operation": "sum",
   "operands": [
      {
         "objective_function": {
             "operation": "min",
             "operand": [
                 {
                      "weight": 1.0,
                      "function": "attribute",
                      "params": {
                         "demand": "urllc_core",
                         "attribute": "throughput"
                      }
                 },
                 {
                      "weight": 1.0,
                      "function": "attribute",
                      "params": {
                         "demand": "urllc_ran",
                         "attribute": "throughput"
                      }
                 },
                 {
                      "weight": 1.0,
                      "function": "attribute",
                      "params": {
                         "demand": "urllc_transport",
                         "attribute": "throughput"
                      }
                 }
             ]
         },
         "weight": 2.0 
      },
      {
         "objective_function": {
             "operation": "sum",
             "operand": [
                 {
                     "weight": 1.0,
                     "function": "attribute",
                     "params": {
                         "demand": "urllc_core",
                         "attribute": "latency"
                      }
                 },
                 {
                     "weight": 1.0,
                     "function": "attribute",
                     "params": {
                         "demand": "urllc_ran",
                         "attribute": "latency"
                      }
                 },
                 {
                     "weight": 1.0,
                     "function": "attribute",
                     "params": {
                         "demand": "urllc_transport",
                         "attribute": "latency"
                      }
                 }
             ]
         },
         "weight": 1.0
      }
   ]
 }
}



JSON Viewer
{
   "goal": "maximize",
   "objective_function": {
   "operation": "sum",
   "operands": [
      {
         "objective_function": {
             "operation": "min",
             "operand": [
                 {
                      "weight": 1.0,
                      "function": "attribute",
                      "params": {
                         "demand": "urllc_core",
                         "attribute": "throughput"
                      }
                 },
                 {
                      "weight": 1.0,
                      "function": "attribute",
                      "params": {
                         "demand": "urllc_ran",
                         "attribute": "throughput"
                      }
                 },
                 {
                      "weight": 1.0,
                      "function": "attribute",
                      "params": {
                         "demand": "urllc_transport",
                         "attribute": "throughput"
                      }
                 }
             ]
         },
         "weight": 2.0 
      },
      {
         "objective_function": {
             "operation": "sum",
             "operand": [
                 {
                     "weight": 1.0,
                     "function": "attribute",
                     "params": {
                         "demand": "urllc_core",
                         "attribute": "latency"
                      }
                 },
                 {
                     "weight": 1.0,
                     "function": "attribute",
                     "params": {
                         "demand": "urllc_ran",
                         "attribute": "latency"
                      }
                 },
                 {
                     "weight": 1.0,
                     "function": "attribute",
                     "params": {
                         "demand": "urllc_transport",
                         "attribute": "latency"
                      }
                 }
             ]
         },
         "weight": 1.0
      }
   ]
 }
}





_bw = [100, 200, 300]

ran_nssi → property bw → func(slice_profile[])

core_nssi  → property bw → func(slice_profile[])

tn_nssi  → property bw→ func(slice_profile[])

Maximize (min (ran_nssi_bw, core_nssi_bw, tr_nssi_bw))


Max  [ sum ( W_bw *  min (ran_nssi_bw, core_nssi_bw, tr_nssi_bw), 1/(W_lat * ( sum (w1 * ran_nssi_lat, w2 core_lat, W3* tn_lat)) ) ]


Min/max operator:  list of operands

Sum operator : list of operands

prod operator: weight, operand


normalized_unit = func(bw, weight, unit)

normalized_unit = func(lat, weight, unit)