package
0.32.3
Repository: https://github.com/nextmv-io/sdk.git
Documentation: pkg.go.dev

# README

Store

Package store provides a modeling kit for decision automation problems. It is based on the paradigm of "decisions as code". The base interface is the Store: a space defined by variables and logic. The underlying algorithms search that space and find the best solution possible, this is, the best collection of variable assignments. The Store is the root node of a search tree. Child Stores (nodes) inherit both logic and variables from the parent and may also add new variables and logic, or overwrite existing ones. Changes to a child do not impact its parent.

See godocs for package docs.

# Functions

And uses the conditional "AND" logical operator on all given conditions.
DefaultOptions for running a solver.
Eager way of generating new Stores.
False is a convenience function that is always false.
Lazy way of generating new Stores.
Multiple creates a Domain containing multiple integer values and stores it in a Store.
New returns a new Store.
NewDomain creates a Domain of integers and stores it in a Store.
NewDomains creates a sequence of Domains and stores the sequence in a Store.
NewMap returns a new NewMap and stores it in a Store.
NewSlice returns a new NewSlice and stores it in a Store.
NewVar stores a new variable in a Store.
Not negates the given condition.
Or uses the conditional "OR" logical operator on all given conditions.
Repeat a Domain n times and store the sequence in a Store.
Singleton creates a Domain containing one integer value and stores it in a Store.
True is a convenience function that is always true.
Xor uses the conditional "Exclusive OR" logical operator on all given conditions.

# Constants

Maximize indicates the solution space is being searched to find the biggest possible value.
Minimize indicates the solution space is being searched to find the smallest possible value.
Satisfy indicates the solution space is being searched to find operationally valid Stores.

# Structs

Bounds on an objective value at some node in the search tree consist of a lower value and an upper value.
Diagram options.
Limits when performing a search.
Options for a solver.
Search statistics of the Store generation.
Solution of a decision automation problem.
Statistics of the search.
Time statistics.

# Interfaces

A Domain of integers.
Domains of integers.
A Key for a Map.
A Map stores key-value pairs in a Store.
Slice manages an immutable slice container of some type in a Store.
A Solver searches a space and finds the best Solution possible, this is, the best collection of variable assignments in an operationally valid Store.
Store represents a store of variables and logic to solve decision automation problems.
Var is a variable stored in a Store.

# Type aliases

Bounder maps a Store to monotonically tightening bounds.
Change a Store.
Condition represents a logical condition on a Store.
Formatter maps a Store to any type with a JSON representation.
A Generator is used to generate new Stores (children) from an existing one (parent).
Propagator propagates Changes to a Store.
Sense specifies whether one is maximizing, minimizing, or satisfying.
Valuer maps a Store to an integer value.