ข้อ จำกัด ทางตรรกะใน ILP

Aug 16 2020

ฉันต้องการเขียนข้อ จำกัด ต่อไปนี้:

ปล่อย $z$ เป็นตัวแปรจำนวนเต็มเช่นนั้น $0\le z\le M$และ $t$ เป็นตัวแปรไบนารีโดยที่ $M$หมายถึง big-M ข้อ จำกัด ทางตรรกะมีดังนี้:

  • ถ้า $z \leq M$ และ $z > 0$ แล้ว $t=1$;

  • ถ้า $z=0$ แล้ว $t=0$.

นี่คือ $z≤Mt$เพียงพอ? $t$ และ $z$ ตัวแปรไม่ได้อยู่ในฟังก์ชันวัตถุประสงค์ของฉัน แต่เป็นตัวแปร $t$ เชื่อมต่อกับตัวแปรอื่นในฟังก์ชันวัตถุประสงค์หรือไม่

ขอบคุณมากขอขอบคุณสำหรับความช่วยเหลือของคุณ

คำตอบ

4 RobPratt Aug 16 2020 at 02:50

ข้อ จำกัด big-M $z \le M t$ ไม่บังคับ $z > 0 \implies t = 1$เทียบเท่ากับความขัดแย้ง $t = 0 \implies z = 0$แต่ไม่ใช่การสนทนา $$z = 0 \implies t = 0. \tag1$$ เพื่อบังคับใช้ $(1)$พิจารณาความขัดแย้ง $$t = 1 \implies z > 0 \tag2,$$ ซึ่งคุณสามารถบังคับใช้ผ่านข้อ จำกัด big-M $$\epsilon - z \le (\epsilon - 0)(1 - t),$$ เทียบเท่า $$z \ge \epsilon t,$$ ที่ไหน $\epsilon > 0$ เป็นค่าเผื่อที่แสดงถึงค่าที่น้อยที่สุดของ $z$ ที่คุณคิดว่าเป็นบวก