View Issue Details

IDProjectCategoryView StatusLast Update
0000167ascendcompilerpublic2011-02-28 16:10
Assigned Toben 
Status assignedResolutionopen 
Product Version 
Target Version1.0Fixed in Version 
Summary0000167: logical expressions forced to write in simple form
DescriptionAn aside, it also appears that I can't use an expression like

issat IS_A boolean_var;
issat_expr: issat == SATISFIED(issat1_test) OR SATISFIED(issat2_test);

Instead, it seems that I must use

issat1 IS_A boolean_var;
issat1_expr: issat1 == SATISFIED(issat1_test);
issat2 IS_A boolean_var;
issat2_expr: issat1 == SATISFIED(issat2_test);
issat IS_A boolear_var;
issat_expr: issat == issat1 OR issat2;

Why so?
TagsNo tags attached.




2006-06-05 16:50

manager   ~0000361

This design is a lesson learned from boolean programming.
writing compound constraints of the sort you exhibit leaves a
model full of implicit boolean variables. This is then
extremely difficult to feed to solvers in general and
in particular the typical solver of mixed algebraic/logical
models which splits logic and nonlinearity into separate
sub-solvers and iterates between.


2006-06-15 10:08

administrator   ~0000373

Hi Ben

So is this a limitation of the solver, or the compiler? If I can't use the above syntax, then ASCEND should be warning me, right?



2009-05-14 07:03

manager   ~0000528

To my knowledge, we have no boolean logic solver for multivariable equations, but the explicit form is solvable as a series of singletons.


2011-02-22 17:37

administrator   ~0000676

The resolution to this is probably to have some more sophisticated checks in the LRSlv 'slv_eligible' function.

Issue History

Date Modified Username Field Change
2005-12-14 09:25 john New Issue
2006-01-24 14:20 john Status new => assigned
2006-01-24 14:20 john Assigned To => ben
2006-02-07 13:17 john Target release => 1.0
2006-02-07 13:22 john Target release 1.0 => 0.9.6
2006-02-25 09:36 john Severity minor => major
2006-06-05 16:50 ben Note Added: 0000361
2006-06-15 10:08 john Note Added: 0000373
2009-05-14 07:03 ben Note Added: 0000528
2010-03-23 18:26 john Target Version => 0.9.8
2011-02-22 17:37 john Note Added: 0000676
2011-02-28 16:10 john Target Version 0.9.8 => 1.0