List of Objective functions in HAS

Existing Optimization Models

Minimize an unweighted value

{ "minimize":{ "attribute": { "distance_between":[ "customer_loc", "vG" ] } } }



Minimize a weighted value



{ "minimize": { "attribute": { "product": [ 200, { "distance_between": [ "customer_loc", "vG" ] } ] } } }





Maximize an unweighted value

{ "maximize": { "attribute": { "reliability": [ "URLLC" ] } } }





Maximize a weighted value





Minimize the sum of unweighted values



Minimize the sum of weighted values

New Optimization Model

Objective Function Object

Attribute

Required

Content

Values

Description

Attribute

Required

Content

Values

Description

goal

Y

String

minimize, maximize

The goal of the optimization

operation_function

Y

Operation function Object



The operation function that has to be optimized



Operation function object

Attribute

Required

Content

Values

Description

Attribute

Required

Content

Values

Description

operator

Y

String

sum, min, max

The operation which will be a part of the objective function

operands

Y

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

Attribute

Required

Content

Values

Description

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

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

Attribute

Required

Content

Values

Description

start

Y

Decimal



Start of the range

end

Y

Decimal



End of the range

JSON Schema



Examples



1. Minimize an attribute of the demand



2. Minimize the sum of the distance between the demand and the customer location.

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





Scenario: 

Minimize the sum of latencies of slice subnets

objective function - latency(demand) + latency(demand)



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)) ) ]



normalization:

function(value, range(start, end), weight)

All ranges are converted to 0 to 1. The inverse operation is not needed since it is already implied in the range.

normalized value = (value - start) / (end-start)



Eg:

latency range: 50 ms to 5 ms

candidate latency

Normalized value

candidate latency

Normalized value

20 ms

0.667

40 ms

0.222

throughput range: 100 Mbps to 1000Mbps

candidate throughput

Normalized value

candidate throughput

Normalized value

300 Mbps

0.222

800 Mbps

0.778