Versions Compared

Key

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

Table of Contents

Existing Optimization Models

Minimize an unweighted value

...

Code Block
languagejs
collapsetrue
{
    "minimize": {
        "sum": [
            {
                "product": [
                    100,
                    {
                        "distance_between": [
                            "customer_loc",
                            "vG"
                        ]
                    }
                ]
            },
            {
                "product": [
                    200,
                    {
                        "hpa_score": [
                            "vG"
                        ]
                    }
                ]
            }
        ]
    }
}

New Optimization Model

Objective Function Object

...

AttributeRequiredContentValuesDescription
operatorYString

sum, min, max

The operation which will be a part of the objective function
operandsY

List of operand object

EIther an operation-function or a function

The operand on which the operation is to be performed.

The operand can be an attribute or result of a function 

operation-function operand object

AttributeRequiredContentValuesDescription
normalizationNnormalization object
Set of values used to normalize the operand
weightNDecimalDefault: 1.0Weight of the function
operation_functionNoperation function object

function operand object

AttributeRequiredContentValuesDescription
normalizationNnormalization object
Set of values used to normalize the operand
weightNDecimalDefault: 1.0Weight of the function
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.

...

AttributeRequiredContentValuesDescription
startYDecimal
Start of the range
endYDecimal
End of the range

JSON Schema

View file
nameopt_schema.json
height250


Examples


1. Minimize an attribute of the demand

Code Block
languagejs
collapsetrue
{
    "goal": "minimize",
    "operation_function": {
        "operandoperands": [
            {
                "function": "attribute",
                "params": {
                    "attribute": "latency",
                    "demand": "urllc_core"
                }
            }
        ],
        "operator": "sum"
    }
}

...

Code Block
languagejs
collapsetrue
{
   "goal": "maximize",
   "operation_function": {
   "operator": "sum",
   "operands": [
      {
         "operation_function": {
             "operator": "min",
             "operandoperands": [
                 {
                      "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"
                      }
                 }
             ]
         },
         "normalization": {
            "start": 100,
            "end": 1000
         },
         "weight": 2.0 
      },
      {
         "operation_function": {
             "inverse":
true,              "operator": "sum",
             "operandoperands": [
                 {
                     "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"
                      }
                 }
             ]
         },
         "normalization": {
            "start": 50,
            "end": 5
         },
         "weight": 1.0
      }
   ]
 }
}

...

candidate throughputNormalized value
300 Mbps0.222
800 Mbps0.778

Impact Analysis

API  - no impact

Controller

Template version upgrade

New parser for the optimization model

Data - no impact

Solver

A new solver for the model (recursive solver?)

...