Interface IModelModule
Inspection of models and a high-level interface to add constraints during solving.
Namespace: ClingoSharp.CoreServices.Interfaces.Modules
Assembly: ClingoSharp.CoreServices.dll
Syntax
public interface IModelModule : IClingoModule
Methods
| Improve this Doc View SourceAddClause(SolveControl, Literal[])
Add a clause that applies to the current solving step during model enumeration.
Declaration
bool AddClause(SolveControl control, Literal[] clause)
Parameters
Type | Name | Description |
---|---|---|
SolveControl | control | the target |
Literal[] | clause | array of literals representing the clause |
Returns
Type | Description |
---|---|
System.Boolean |
|
Remarks
The Theory Propagation module provides a more sophisticated interface to add clauses - even on partial assignments.
Contains(Model, Symbol, out Boolean)
Constant time lookup to test whether an atom is in a model.
Declaration
bool Contains(Model model, Symbol atom, out bool contained)
Parameters
Type | Name | Description |
---|---|---|
Model | model | a model object |
Symbol | atom | the atom to lookup |
System.Boolean | contained | whether the atom is contained |
Returns
Type | Description |
---|---|
System.Boolean |
|
Extends(Model, Symbol[])
Add symbols to the model.
Declaration
bool Extends(Model model, Symbol[] atoms)
Parameters
Type | Name | Description |
---|---|---|
Model | model | a model object |
Symbol[] | atoms | the symbols to add |
Returns
Type | Description |
---|---|
System.Boolean |
|
GetContext(Model, out SolveControl)
Get the associated solve control object of a model. This object allows for adding clauses during model enumeration.
Declaration
bool GetContext(Model model, out SolveControl context)
Parameters
Type | Name | Description |
---|---|---|
Model | model | a model object |
SolveControl | context | the resulting solve control object |
Returns
Type | Description |
---|---|
System.Boolean |
|
GetCosts(Model, out Int64[])
Get the cost vector of a model
Declaration
bool GetCosts(Model model, out long[] costs)
Parameters
Type | Name | Description |
---|---|---|
Model | model | a model object |
System.Int64[] | costs | the resulting costs |
Returns
Type | Description |
---|---|
System.Boolean |
|
GetNumber(Model, out UInt64)
Get the running number of the model.
Declaration
bool GetNumber(Model model, out ulong number)
Parameters
Type | Name | Description |
---|---|---|
Model | model | a model object |
System.UInt64 | number | the number of the model |
Returns
Type | Description |
---|---|
System.Boolean |
|
GetSymbolicAtoms(SolveControl, out SymbolicAtoms)
Get an object to inspect the symbolic atoms.
Declaration
bool GetSymbolicAtoms(SolveControl control, out SymbolicAtoms atoms)
Parameters
Type | Name | Description |
---|---|---|
SolveControl | control | the target |
SymbolicAtoms | atoms | the resulting object |
Returns
Type | Description |
---|---|
System.Boolean |
|
GetSymbols(Model, ShowType, out Symbol[])
Get the symbols of the selected types in the model.
Declaration
bool GetSymbols(Model model, ShowType showType, out Symbol[] symbols)
Parameters
Type | Name | Description |
---|---|---|
Model | model | a model object |
ShowType | showType | which symbols to select |
Symbol[] | symbols | the resulting symbols |
Returns
Type | Description |
---|---|
System.Boolean |
|
Remarks
CSP assignments are represented using functions with name $
where the first argument is the name of the CSP variable and the second one its value.
GetThreadId(Model, out Id)
Get the id of the solver thread that found the model.
Declaration
bool GetThreadId(Model model, out Id id)
Parameters
Type | Name | Description |
---|---|---|
Model | model | a model object |
Id | id | the resulting thread id |
Returns
Type | Description |
---|---|
System.Boolean |
|
GetType(Model, out ModelType)
Get the type of the model.
Declaration
bool GetType(Model model, out ModelType type)
Parameters
Type | Name | Description |
---|---|---|
Model | model | a model object |
ModelType | type | the type of the model |
Returns
Type | Description |
---|---|
System.Boolean |
|
IsOptimalityProven(Model, out Boolean)
Whether the optimality of a model has been proven.
Declaration
bool IsOptimalityProven(Model model, out bool proven)
Parameters
Type | Name | Description |
---|---|---|
Model | model | a model object |
System.Boolean | proven | whether the optimality has been proven |
Returns
Type | Description |
---|---|
System.Boolean |
|
IsTrue(Model, Literal, out Boolean)
Check if a program literal is true in a model.
Declaration
bool IsTrue(Model model, Literal literal, out bool result)
Parameters
Type | Name | Description |
---|---|---|
Model | model | a model object |
Literal | literal | the literal to lookup |
System.Boolean | result | whether the literal is true |
Returns
Type | Description |
---|---|
System.Boolean |
|