| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.102.0/docs/apis/_sources/ant_colony_problem_protocol_0.rst.txt |
.. index:: single: ant_colony_problem_protocol .. _ant_colony_problem_protocol/0:
.. rst-class:: right
protocol
ant_colony_problem_protocolProtocol for ant colony optimization problem definitions. A problem object must define the required predicates for constructive solution building on a construction graph (typically a complete graph over a set of nodes, as in the TSP). Optional predicates allow custom stopping and progress reporting.
| Availability:
| logtalk_load(ant_colony(loader))
| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-08-16
| Compilation flags:
| static
| Dependencies: | (none)
| Remarks: | (none)
| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: nodes/1 .. _ant_colony_problem_protocol/0::nodes/1:
nodes/1 ^^^^^^^^^^^
Returns the ordered list of nodes that form the construction graph. Solutions are permutations (or paths) over these nodes.
| Compilation flags:
| static
| Template:
| nodes(Nodes)
| Mode and number of proofs:
| nodes(-list) - one
.. index:: heuristic/3 .. _ant_colony_problem_protocol/0::heuristic/3:
heuristic/3 ^^^^^^^^^^^^^^^
Returns the heuristic desirability Eta of moving from From to To. Typically the reciprocal of a distance or cost. Must be strictly positive for every pair that can appear in a solution.
| Compilation flags:
| static
| Template:
| heuristic(From,To,Eta)
| Mode and number of proofs:
| heuristic(+nonvar,+nonvar,-number) - one
.. index:: solution_cost/2 .. _ant_colony_problem_protocol/0::solution_cost/2:
solution_cost/2 ^^^^^^^^^^^^^^^^^^^
Computes the cost (energy) of a complete solution (tour/path). The algorithm minimizes this value.
| Compilation flags:
| static
| Template:
| solution_cost(Solution,Cost)
| Mode and number of proofs:
| solution_cost(+list,-number) - one
.. index:: stop_condition/3 .. _ant_colony_problem_protocol/0::stop_condition/3:
stop_condition/3 ^^^^^^^^^^^^^^^^^^^^
True when the search should stop given the current iteration, best cost found so far, and the cost of the iteration-best solution. Optional. When not defined by the problem, the search runs until the maximum number of iterations is reached.
| Compilation flags:
| static
| Template:
| stop_condition(Iteration,BestCost,IterationBestCost)
| Mode and number of proofs:
| stop_condition(+non_negative_integer,+number,+number) - zero_or_one
.. index:: progress/5 .. _ant_colony_problem_protocol/0::progress/5:
progress/5 ^^^^^^^^^^^^^^
Called periodically to report optimization progress. Optional. When not defined by the problem, progress reporting is skipped. The rates are values between 0.0 and 1.0.
| Compilation flags:
| static
| Template:
| progress(Iteration,BestCost,IterationBestCost,AcceptanceRate,ImprovementRate)
| Mode and number of proofs:
| progress(+non_negative_integer,+number,+number,+number,+number) - zero_or_one
(none)
(none)
(none)
.. seealso::
:ref:`ant_colony(Problem) <ant_colony/1>`