...
Attribute | Required | Content | Values | Description |
---|---|---|---|---|
goal | Y | String | minimize, maximize | The goal of the optimization |
Operation Functionoperation_function | Y | Operation function Object | The operation function that has to be optimized |
...
Attribute | Required | Content | Values | Description |
---|---|---|---|---|
operationoperator | Y | String | sum, min, max | The operation which will be a part of the objective function |
operands | Y | List of operand object | The operand on which the operation is to be performed. The operand can be an attribute or result of a function | |
inverse | N | Boolean | default: False | Flag to specify whether the objective function has to be inverted. |
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "goal": "minimize", "objectiveoperation_function": { "operand": [ { "function": "attribute", "params": { "attribute": "latency", "demand": "urllc_core" } } ], "operationoperator": "sum" } } |
2. Minimize the sum of the distance between the demand and the customer location.
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "goal": "minimize", "objectiveoperation_function": { "operationoperator": "sum", "operands": [ { "function": "distance_between", "weight": 1.0, "params": { "demand": "vG", "location": "customer_loc" } }, { "function": "distance_between", "weight": 1.0, "params": { "demand": "vFW", "location": "customer_loc" } } ] } } |
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "goal": "minimize", "objectiveoperation_function": { "operationoperator": "sum", "operands": [ { "function": "attribute", "weight": 1.0, "params": { "demand": "urllc_core", "attribute": "latency" } }, { "function": "attribute", "weight": 1.0, "params": { "demand": "urllc_ran", "attribute": "latency" } } ] } } |
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "goal": "maximize", "objectiveoperation_function": { "operationoperator": "sum", "operands": [ { "objectiveoperation_function": { "operationoperator": "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 }, { "objectiveoperation_function": { "inverse": true, "operationoperator": "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 } ] } } |
...