Changelog

Component Category Description
KPI Plugin 3.2.0 Dependency PUZZLE core version 49.1.0-SNAPSHOT.
KPI Plugin 3.1.0 Dependency PUZZLE core version 48.0.0.
KPI Plugin 3.0.0 Bug Client can now request all documented kpi fields, without getting a Jackson parsing error
Documentation / Bug Updated list of supported kpi fields. Some fields are not available and some are renamed, please consult the table below for available fields. [Breaking Change]
Dependency PUZZLE core version 47.0.0.

Description

Plugin for PUZZLE, which allows a client to retrieve key performances indices (KPIs) for solutions of a job.

A client specifies the jobId and which KPIs PUZZLE should compute. PUZZLE computes the specified KPI for each solution of the job and provide the value for the specified KPI a string.

You can request PUZZLE to compute the following key performance indices:

Field Description Value Range
ordername Name of the order of the job.
state count Quantity of positions of the solution. Positive integer or zero
timestamp Timestamp of the current time
group count Quantity of distinct groups in the job Positive integer or zero
groups List of all distinct groups in the job Positive integer or zero
episode count Quantity of distinct episodes of a job Positive integer or zero
episode List of all episodes of a job
orderlines Quantity of order lines in the job Positive integer or zero
placements The quantity of positions in the solution Positive integer or zero
remaining The sum of all quantity attribute values of all entries in the remainder array of the solution. Positive integer or zero
local search time The time PUZZLE spent calculating the solution, given in seconds.
Load.Stability Load.Stability measure the average stability of all order items in the Solution. Integer from [0;100]
Load.Weight Total weight of all order items in the load of the solution. Positive integer or zero
Load.PackDensity The ratio of Load.NetVolume and the volume of the bounding box of all items in percent Integer from [0;100]
Load.Height Total load height (height of the bounding box of all placements in the solution) Positive integer or zero
Load.NetVolume Total volume of all order items in the load of the solution Positive integer or zero
Load.VolumeUtilization The ratio of Load.NetVolume and the maximum possible volume on top of the loading device in percent Integer from [0;100]
Load.WeightUtilization The ratio of Load.Weight and the attribute maxLoadWeight of the loading device of the solution in percent Integer from [0;100]
Article.Coherence Article coherence measures how far apart order items of the same order line are placed. The closer the value is to 100, the closer the order items of the same order line are to each other. Integer from [0;100]
Group.Coherence Group.Coherence measures how faw apart items of the same group are placed. The closer the value is to 10000, the closer the order items of the same group are to each other. Integer from [0;10000]
Pattern.Count Only use for DEBUG purpose.

/kpis/{jobId}

Precondition: the state of the job is DONE.

Retrieve the key performances indices for the job specified by the jobId.

Returns the key performances indices specified in the request attribute fields. The response consists of an array with one object per solution containing the solutionId and each specified key performances index (KPI) as attribute. If PUZZLE can compute a KPI, the value of attribute corresponding to a KPI contains the computed KPI value given as string, or the empty string if PUZZLE cannot compute a value for a KPI. PUZZLE returns with HTTP status code 200.

If PUZZLE cannot parse the JSON in the request body, it returns with HTTP status code 400 and a JSON object. The JSON object encodes a parsing error (see section error and response samples with HTTP status code 400).

If you specify an unknown jobId, PUZZLE returns HTTP status code 404 (see 404 response samples).

If the job does not have the states expected in the precondition, PUZZLE returns an error and HTTP status code 500 (see response samples for 500).

path Parameters
jobId
required
integer <int64> >= 1

The Id of the job.

Request Body schema: application/json
fields
required
Array of string (KPIFields)
Items Enum:"ordername" "state count" "timestamp" "group count" "groups" "episode count" "episode" "orderlines" "placements" "remaining" "local search time" "Load.Stability" "Load.Weight" "Load.PackDensity" "Load.Height" "Load.NetVolume" "Load.VolumeUtilization" "Load.WeightUtilization" "Article.Coherence" "Group.Coherence" "Pattern.Count"

Array of KPIs that PUZZLE should compute for each solution of the job.

Responses

200

The key performances indices for all solutions of the job.

Response Schema: application/json
Array
solutionId
required
integer

Unique identifier of the Solution. Generated by PUZZLE. A positive integer.

property name *
string
400

An error occurred while parsing the request body

404

There does not exist a job with the given jobId.

500

An error occurred.

post /kpis/{jobId}
PUZZLE instance at host hostname port 8888
http://hostname:8888/puzzle/api/v1/kpis/{jobId}
PUZZLE instance at localhost port 8888
http://localhost:8888/puzzle/api/v1/kpis/{jobId}

Request samples

application/json
Copy
Expand all Collapse all
{
  • "fields":
    [
    ]
}

Response samples

application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    },
  • {
    }
]