evaluate

abstract fun evaluate(rawRequests: List<RequestData>): List<Solution>

Processes the supplied requests for solutions. The solutions may come from an associated solution cache (if present) or via evaluations by the simulation oracle. The list of requests may have duplicated inputs, in which case, the solution will also be a duplicate. That is, no extra evaluations occur for duplicates in the list of requests. Any new solutions that result due to the processing will be entered into the cache (according to the rules governing the cache). Any incoming requests that have input range infeasible input settings will not be evaluated and will result in solutions that are bad and infeasible.

Return

a list containing a solution for each request

Parameters

rawRequests

a list of evaluation requests


open fun evaluate(request: RequestData): Solution

Processes the supplied request for a solution. The solution may come from an associated solution cache (if present) or via an evaluation by the simulation oracle. A solution that results due to the processing will be entered into the cache (according to the rules governing the cache). If the request is input range-infeasible, then a bad and infeasible solution will be returned.

Return

the solution associated with the request

Parameters

request

a request needing evaluation