category
local_optimization_solver(Problem)
Problem- Problem object implementinglocal_optimization_problem_protocol.
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.
logtalk_load(local_optimization(loader))staticPublic predicates
run/2
Runs the solver with default options and returns the best point and objective value found.
staticrun(BestPoint,BestValue)run(-list(number),-number) - onerun/3
Runs the solver with the given options and returns the best point and objective value found.
staticrun(BestPoint,BestValue,Options)run(-list(number),-number,+list(compound)) - onerun/4
Runs the solver with the given options and returns the best point, objective value, and run statistics.
staticrun(BestPoint,BestValue,Statistics,Options)run(-list(number),-number,-list(compound),+list(compound)) - oneProtected predicates
initial_point/2
Returns the initial point defined by the initial_point/1 option if present. Otherwise returns the problem defined initial point.
staticinitial_point(Options,Point)initial_point(+list(compound),-list(number)) - onebetter_value/3
True when Value is strictly better than Reference according to the optimization direction.
staticbetter_value(Objective,Value,Reference)better_value(+atom,+number,+number) - zero_or_onetarget_reached/3
True when the current value has reached or passed the optional target in the selected direction.
statictarget_reached(Objective,Value,Target)target_reached(+atom,+number,+term) - zero_or_oneproject_to_bounds/3
Clamps each component of a point to the corresponding Low-High interval. When Bounds is empty the point is returned unchanged.
staticproject_to_bounds(Point,Bounds,Projected)project_to_bounds(+list(number),+list(pair),-list(number)) - onecheck_bounds/1
Checks that the bounds are valid.
staticcheck_bounds(Bounds)check_bounds(+list(pair)) - one_or_errorBounds is a variable:instantiation_errorBounds is neither a variable nor a valid list of bounds:domain_error(position_bounds,Bounds)check_point/2
Checks that the bounds are valid. Assumes Point is already checked to be a list of numbers.
staticcheck_point(Point,Bounds)check_point(+list(number),+list(pair)) - one_or_errorPoint is not a valid point:domain_error(initial_point,Point)report_progress/6
Reports solver progress by calling progress_hook/5 if defined.
staticreport_progress(Iteration,UpdateInterval,BestPoint,BestValue,Measure,Evaluations)report_progress(+non_negative_integer,+non_negative_integer,+list(number),+number,+number,+non_negative_integer) - onereport_final/5
Reports the final solver solution by calling progress_hook/5 if defined.
staticreport_final(Iteration,UpdateInterval,BestPoint,BestValue,Measure)report_final(+non_negative_integer,+non_negative_integer,+list(number),+number,+number) - oneprogress_hook/5
User-defined hook predicate to report a solver step.
staticprogress_hook(Iteration,BestPoint,BestValue,Measure,Evaluations)progress_hook(+non_negative_integer,+list(number),+number,+number,+non_negative_integer) - zero_or_onePrivate predicates
(no local declarations; see entity ancestors if any)
Operators
(none)
See also