Did you know ... Search Documentation:
Pack logtalk -- logtalk-3.102.0/docs/apis/_sources/constrained_optimization_solver_0.rst.txt

.. index:: single: constrained_optimization_solver .. _constrained_optimization_solver/0:

.. rst-class:: right

category

constrained_optimization_solver

Shared numeric, objective-direction, and validation predicates for constrained optimization solvers and their internal problem wrappers.

| Availability: | logtalk_load(constrained_optimization(loader))

| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-09-04

| Compilation flags: | static

| Uses: | :ref:`list <list/0>`

| Remarks: | (none)

| Inherited public predicates: | (none)

.. contents:: :local: :backlinks: top

Public predicates

(no local declarations; see entity ancestors if any)

Protected predicates

.. index:: abs_max/2 .. _constrained_optimization_solver/0::abs_max/2:

abs_max/2 ^^^^^^^^^^^^^

Infinity norm: max_i abs(Vec_i), 0.0 for an empty vector.

| Compilation flags: | static

| Template: | abs_max(Vec,Max) | Mode and number of proofs: | abs_max(+list(number),-number) - one


.. index:: positive_max/2 .. _constrained_optimization_solver/0::positive_max/2:

positive_max/2 ^^^^^^^^^^^^^^^^^^

Infinity norm of the positive part: max_i max(0, Vec_i), 0.0 for an empty vector.

| Compilation flags: | static

| Template: | positive_max(Vec,Max) | Mode and number of proofs: | positive_max(+list(number),-number) - one


.. index:: direction_sign/2 .. _constrained_optimization_solver/0::direction_sign/2:

direction_sign/2 ^^^^^^^^^^^^^^^^^^^^

Converts an objective direction into its numeric sign.

| Compilation flags: | static

| Template: | direction_sign(Direction,Sign) | Mode and number of proofs: | direction_sign(+atom,-number) - one


.. index:: objective_direction/2 .. _constrained_optimization_solver/0::objective_direction/2:

objective_direction/2 ^^^^^^^^^^^^^^^^^^^^^^^^^

Converts an objective numeric sign into its direction.

| Compilation flags: | static

| Template: | objective_direction(Sign,Direction) | Mode and number of proofs: | objective_direction(+number,-atom) - one


.. index:: build_inner/3 .. _constrained_optimization_solver/0::build_inner/3:

build_inner/3 ^^^^^^^^^^^^^^^^^

Constructs a parametric inner solver object from its class atom and problem object.

| Compilation flags: | static

| Template: | build_inner(InnerSolver,Problem,Solver) | Mode and number of proofs: | build_inner(+atom,+nonvar,-nonvar) - one


.. index:: update_penalty/6 .. _constrained_optimization_solver/0::update_penalty/6:

update_penalty/6 ^^^^^^^^^^^^^^^^^^^^

Scales a penalty when the constraint violation does not decrease by the required factor.

| Compilation flags: | static

| Template: | update_penalty(OldViolation,NewViolation,RequiredDecrease,OldPenalty,Scale,NewPenalty) | Mode and number of proofs: | update_penalty(+number,+number,+number,+number,+number,-number) - one


.. index:: abs_sum/2 .. _constrained_optimization_solver/0::abs_sum/2:

abs_sum/2 ^^^^^^^^^^^^^

Computes the sum of the absolute values of a numeric list.

| Compilation flags: | static

| Template: | abs_sum(Values,Sum) | Mode and number of proofs: | abs_sum(+list(number),-number) - one


.. index:: validate_numeric_vector/2 .. _constrained_optimization_solver/0::validate_numeric_vector/2:

validate_numeric_vector/2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Checks that a vector is a list of numbers.

| Compilation flags: | static

| Template: | validate_numeric_vector(Vector,Domain) | Mode and number of proofs: | validate_numeric_vector(+list,+atom) - one_or_error

| Exceptions: | Vector is not a numeric vector: | domain_error(Domain,Vector)


.. index:: validate_constraint_data/4 .. _constrained_optimization_solver/0::validate_constraint_data/4:

validate_constraint_data/4 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Checks that constraint values are numeric and that the Jacobian has one numeric row per constraint and one column per point component.

| Compilation flags: | static

| Template: | validate_constraint_data(Point,Values,Jacobian,Domain) | Mode and number of proofs: | validate_constraint_data(+list(number),+list,+list,+atom) - one_or_error

| Exceptions: | Values is not a numeric vector: | domain_error(Domain,Values) | Jacobian does not have one numeric row per constraint and one column per point component: | domain_error(Domain,Jacobian)


Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)