我想知道如何覆盖AMPL中的约束。在一个非常基本的例子中:
$this->upload->do_upload('profile_pic');
$image_name = $this->upload->data('file_name');
AMPL使用第一个“constraint1”作为约束并忽略第二个,AMPL是否使用最后一个“constraint1”?
答案 0 :(得分:2)
无法使用相同的变量名覆盖约束。
可以在通过条件逻辑分配给同一名称的约束之间切换(如果出现语句),但不能覆盖它们。
答案 1 :(得分:1)
如@Everyone_Else所述,您可以使用if语句。
在第13章的AMPL书中,有一些使用方法的示例,尤其是子章节:
https://ampl.com/resources/the-ampl-book/chapter-downloads/
您的情况如下:
if -->condition<--
subject to constraint1 : x+2*y >= 100;
else
subject to constraint1 x+2*y <= 10;