Table of Contents |
---|
Existing Optimization Models
Minimize an unweighted value
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "minimize": { "sum": [ { "product": [ 100, { "distance_between": [ "customer_loc", "vG" ] } ] }, { "product": [ 200, { "hpa_score": [ "vG" ] } ] } ] } } |
New Optimization Model
Objective Function Object
...
Attribute | Required | Content | Values | Description |
---|---|---|---|---|
normalization | N | normalization object | Set of values used to normalize the operand | |
weight | N | Decimal | Default: 1.0 | Weight of the function |
operation_function | N | operation function object |
function operand object
Attribute | Required | Content | Values | Description |
---|---|---|---|---|
normalization | N | normalization object | Set of values used to normalize the operand | |
weight | N | Decimal | Default: 1.0 | Weight of the function |
function | N | String | distance_between, latency_between, attribute | Function to be performed on the parameters |
fucntion_params | N | dict | parameters on which the function will be applied. The parameters will change for each function. |
Normalization object
Attribute | Required | Content | Values | Description |
---|---|---|---|---|
start | Y | Decimal | Start of the range | |
end | Y | Decimal | End of the range |
JSON Schema
View file | ||||
---|---|---|---|---|
|
Examples
1. Minimize an attribute of the demand
Code Block | ||||
---|---|---|---|---|
| ||||
{ "goal": "minimize", "operation_function": { "operandoperands": [ { "function": "attribute", "params": { "attribute": "latency", "demand": "urllc_core" } } ], "operator": "sum" } } |
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "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 throughput | Normalized value |
---|---|
300 Mbps | 0.222 |
800 Mbps | 0.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)
...