category

local_optimization_solver

Common code for local-optimization solvers: option handling, objective-direction helpers, bound projection, vector utilities, progress reporting, and basic validation. Concrete solvers import this category and implement the search loop.

Availability:
logtalk_load(local_optimization(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2026-08-17
Compilation flags:
static
Extends:
public options
Uses:
Remarks:
(none)

Public predicates

run/2

Runs the solver with default options and returns the best point and objective value found.

Compilation flags:
static
Template:
run(BestPoint,BestValue)
Mode and number of proofs:
run(-list(number),-number) - one

run/3

Runs the solver with the given options and returns the best point and objective value found.

Compilation flags:
static
Template:
run(BestPoint,BestValue,Options)
Mode and number of proofs:
run(-list(number),-number,+list(compound)) - one

run/4

Runs the solver with the given options and returns the best point, objective value, and run statistics.

Compilation flags:
static
Template:
run(BestPoint,BestValue,Statistics,Options)
Mode and number of proofs:
run(-list(number),-number,-list(compound),+list(compound)) - one

Protected predicates

better_value/3

True when Value is strictly better than Reference according to the optimization direction.

Compilation flags:
static
Template:
better_value(Objective,Value,Reference)
Mode and number of proofs:
better_value(+atom,+number,+number) - zero_or_one

target_reached/3

True when the current value has reached or passed the optional target in the selected direction.

Compilation flags:
static
Template:
target_reached(Objective,Value,Target)
Mode and number of proofs:
target_reached(+atom,+number,+term) - zero_or_one

project_to_bounds/3

Clamps each component of a point to the corresponding Low-High interval. When Bounds is empty the point is returned unchanged.

Compilation flags:
static
Template:
project_to_bounds(Point,Bounds,Projected)
Mode and number of proofs:
project_to_bounds(+list(number),+list(pair),-list(number)) - one

validate_bounds/1

Compilation flags:
static
Mode and number of proofs:
validate_bounds(+list(pair)) - one_or_error

validate_point/2

Compilation flags:
static
Mode and number of proofs:
validate_point(+list(number),+list(pair)) - one_or_error

report_progress/6

Compilation flags:
static
Mode and number of proofs:
report_progress(+non_negative_integer,+non_negative_integer,+list(number),+number,+number,+non_negative_integer) - one

progress_hook/5

Compilation flags:
static

report_final/5

Compilation flags:
static
Mode and number of proofs:
report_final(+non_negative_integer,+non_negative_integer,+list(number),+number,+number) - one

Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)