...
Minimize an unweighted value
Code Block | ||||
---|---|---|---|---|
| ||||
{ "minimize":{ "attribute": { "distance_between":[ "customer_loc", "vG" ] } } } |
...
Minimize a weighted value
Code Block | ||||
---|---|---|---|---|
| ||||
{
| ||||
JSON Viewer | ||||
{ "minimize": { "attribute": { "product": [ 200, { 200, { "distance_between": [ "customer_loc", "vG" ]} ] } } } |
Maximize an unweighted value
JSON Viewer |
---|
{
"maximize":{
"attribute":
{
"reliability":[
"URLLC"
]
}
}
}
|
Maximize a weighted value
JSON Viewer |
---|
{
"minimize":{
"attribute":
{
"product":[
200,
{"reliability":[
"URLLC"
]}
]
}
}
}
|
Minimize the sum of unweighted values
JSON Viewer |
---|
{
"minimize":{
"sum":[
{
"distance_between":[
"customer_loc",
"vG"
]
},
{
"distance_between":[
"customer_loc",
"vG"
]
}
]
}
}
|
Minimize the sum of weighted values
JSON Viewer |
---|
{
"minimize": {
"sum": [
{
"product": [
100,
{
"distance_between": [
"customer_loc",
"vG"
]
}
]
},
{
"product": [
200,
{
"hpa_score": [
"vG"
]
}
]
}
]
}
}
|
New Optimization Model
...
Objective function object
...
sum, min, max
...
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
"customer_loc",
"vG"
]
}
]
}
}
} |
Maximize an unweighted value
Code Block | ||
---|---|---|
| ||
{
"maximize": {
"attribute": {
"reliability": [
"URLLC"
]
}
}
} |
Maximize a weighted value
Code Block | ||||
---|---|---|---|---|
| ||||
{
"maximize": {
"attribute": {
"product": [
200,
{
"reliability": [
"URLLC"
]
}
]
}
}
}
|
Minimize the sum of unweighted values
Code Block | ||||
---|---|---|---|---|
| ||||
{
"minimize": {
"sum": [
{
"distance_between": [
"customer_loc",
"vG"
]
},
{
"distance_between": [
"customer_loc",
"vG"
|
operand object
...
distance_between,
latency_between, attribute
...
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": "distance_between",} ] "weight": 1.0, } } |
Minimize the sum of weighted values
Code Block | ||||
---|---|---|---|---|
| ||||
{ "paramsminimize": { "sum": [ "demand": "vG", { "locationproduct": "customer_loc" [ } 100, }, { "function": "distance_between", "weightdistance_between": 1.0,[ "params": { "demand": "vFW", customer_loc", "location": "customer_loc"vG" } ] } ] } } |
Scenario:
objective function - latency(demand) + latency(demand)
JSON Viewer |
---|
{ ] "goal": "minimize", "objective_function": { "operation": "sum" }, "operands": [ { "function "product": "attribute",[ "weight": 1.0, "params": { 200, "demand": "urllc_core", { "attribute": "latency" } "hpa_score": [ }, { "function": "attribute", "vG" "weight": 1.0, "params": {] "demand": "urllc_ran", } "attribute": "latency" ] } } ] } } |
Scenario:
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)) ) ]
|
New Optimization Model
Attribute | Required | Content | Values | Description |
---|---|---|---|---|
goal | Y | String | minimize, maximize | The goal of the optimization |
objective_function | Y | Objective function Object | The objective function that has to be optimized |
Objective function object
Attribute | Required | Content | Values | Description |
---|---|---|---|---|
operation | N | String | sum, min, max | The operation which will be a part of the objective function |
operands | N | 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 |
operand object
Attribute | Required | Content | Values | Description |
---|---|---|---|---|
weight | N | decimal | default: 1.0 | Weight of the operand |
objective_function | N | Objective function object | ||
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. |
Examples
Scenario:
Scenario:
objective function - distance_between(demand, location) + distance_between(demand, location)
Code Block | ||||
---|---|---|---|---|
| ||||
{
"goal": "minimize",
"objective_function": {
"operation": "sum",
"operands": [ | ||||
Code Block | ||||
| ||||
{ "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": { { "demandfunction": "urllcdistance_corebetween", "attribute"weight": "latency"1.0, "params": { } "demand": "vG", }, "location": "customer_loc" { } "weight": 1.0 }, { "function": "attributedistance_between", "weight": 1.0, "params": { "params": { "demand": "urllc_ranvFW", "location": "customer_loc" "attribute": "latency" } } ] }} } |
Scenario:
objective function - latency(demand) + latency(demand)
Code Block | ||||
---|---|---|---|---|
| ||||
{ "goal": "minimize", "objective_function": { }"operation": "sum", "operands": [ { "function": "attribute", "weight": 1.0, "params": { "functiondemand": "attributeurllc_core", "attribute": "latency" "params": { } }, { "demandfunction": "urllc_transportattribute", "weight": 1.0, "attributeparams": "latency"{ "demand": "urllc_ran", } "attribute": "latency" } } ] } }, "weight": 1.0 } ] } } | ||||
]
}
} |
Scenario:
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)) ) ]
Code Block | ||||
---|---|---|---|---|
| ||||
{ "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 } ] } } |
...