584
585
586
587
588
589
590
591
592
593
594
595
596
597
|
if lower > upper {
return Err(Error::InvalidBounds(lower, upper))
}
let value = if lower > 0.0 { lower }
else if upper < 0.0 { upper }
else { 0.0 };
newvars.push((lower - value, upper - value));
},
}
}
if !newvars.is_empty() {
let mut problem = &mut self.problem;
let minorants = &self.minorants;
|
>
>
>
>
>
>
>
>
>
|
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
|
if lower > upper {
return Err(Error::InvalidBounds(lower, upper))
}
let value = if lower > 0.0 { lower }
else if upper < 0.0 { upper }
else { 0.0 };
newvars.push((lower - value, upper - value));
},
Update::AddVariableValue{lower, upper, value} => {
if lower > upper {
return Err(Error::InvalidBounds(lower, upper))
}
if value < lower || value > upper {
return Err(Error::ViolatedBounds(lower, upper, value))
}
newvars.push((lower - value, upper - value));
},
}
}
if !newvars.is_empty() {
let mut problem = &mut self.problem;
let minorants = &self.minorants;
|