แชร์ผ่าน


นิพจน์ข้อจำกัดและข้อจำกัดของตารางในแบบจำลองการจัดโครงแบบผลิตภัณฑ์

บทความนี้อธิบายการใช้ข้อจำกัดนิพจน์และข้อจำกัดตาราง ข้อจำกัดถูกใช้ในการควบคุมค่าแอททริบิวต์ที่คุณสามารถเลือกได้เมื่อคุณจัดโครงแบบผลิตภัณฑ์สำหรับใบสั่งขาย ใบเสนอราคาขาย ใบสั่งซื้อ หรือใบสั่งผลิต คุณสามารถใช้ข้อจำกัดนิพจน์หรือข้อจำกัดตาราง ขึ้นอยู่กับวิธีที่คุณต้องการสร้างข้อจำกัด

ข้อจำกัดถูกใช้ในการควบคุมค่าแอททริบิวต์ที่คุณสามารถเลือกได้เมื่อคุณจัดโครงแบบผลิตภัณฑ์สำหรับใบสั่งขาย ใบเสนอราคาขาย ใบสั่งซื้อ หรือใบสั่งผลิต คุณสามารถใช้นิพจน์ข้อจำกัดหรือข้อจำกัดตาราง ขึ้นอยู่กับว่าคุณต้องการสร้างข้อจำกัดอย่างไร

ข้อจำกัดนิพจน์คืออะไร

ข้อจำกัดนิพจน์จะถูกกำหนดลักษณะตามนิพจน์ที่ใช้ฟังก์ชันและตัวดำเนินการคณิตศาสตร์และบูลีน มีการบันทึกข้อจำกัดนิพจน์สำหรับส่วนประกอบเฉพาะในแบบจำลองการจัดโครงแบบผลิตภัณฑ์ ไม่สามารถนำมาใช้ใหม่หรือใช้ร่วมกับส่วนประกอบอื่น อย่างไรก็ตาม ข้อจำกัดนิพจน์สำหรับส่วนประกอบสามารถอ้างอิงแอททริบิวต์ของส่วนประกอบย่อยของส่วนประกอบ

ข้อจำกัดของตารางคืออะไร

ข้อจำกัดตารางแสดงชุดของค่าที่อนุญาตสำหรับแอททริบิวต์เมื่อคุณจัดโครงแบบผลิตภัณฑ์ สามารถใช้คำนิยามข้อจำกัดตารางโดยทั่วไป เมื่อคุณสร้างข้อจำกัดตารางสำหรับองค์ประกอบในแบบจำลองการจัดโครงแบบผลิตภัณฑ์ คุณเลือกคำนิยามข้อจำกัดตาราง เพื่อสร้างชุดข้อมูลที่ได้รับอนุญาต เพิ่มแอททริบิวต์ของชนิดเฉพาะกับส่วนประกอบต่าง ๆ แอททริบิวต์แต่ละชนิดมีค่าระบุไว้

ตัวอย่างข้อจำกัดตาราง

ตัวอย่างนี้แสดงว่าคุณสามารถจำกัดการตั้งค่าคอนฟิกของลำโพงเพื่อเสร็จสิ้นการ cabinet เฉพาะและ fronts ตารางแรกแสดง cabinet เสร็จสิ้นและ fronts ที่พร้อมใช้งานสำหรับการตั้งค่าคอนฟิกโดยทั่วไป ค่ากำหนดไว้สำหรับชนิดของแอททริบิวต์ Cabinet เสร็จสิ้นและ grill หน้า

ชนิดของแอททริบิวต์ ค่า
cabinet เสร็จสิ้น สีดำ ไม้โอ้ค Rosewood สีขาว
Grill หน้า สีดำ โลหะ สีขาว

ตารางถัดไปแสดงชุดข้อมูลที่กำหนดโดยข้อจำกัดตาราง สีและเสร็จสิ้น โดยการใช้ข้อจำกัดตารางนี้ คุณสามารถตั้งค่าคอนฟิกลำโพงที่มีไม้โอ้คเสร็จสิ้น และ grill เป็นสีดำ Rosewood เสร็จสิ้น และ grill เป็นสีขาว และอื่น ๆ

เสร็จสิ้น Grill
ไม้โอ้ค สีดำ
โรสวูด สีขาว
สีขาว สีดำ
สีขาว สีขาว
สีดำ สีดำ
สีดำ โลหะ

คุณสามารถสร้างข้อจำกัดตารางการที่กำหนดโดยระบบและโดยผู้ใช้ ดูข้อมูลเพิ่มเติม ข้อจำกัดตารางที่ระบบกำหนดและกำหนดผู้ใช้

ไวยากรณ์ใดควรใช้ในการบันทึกข้อจำกัด

คุณต้องใช้ไวยากรณ์ Optimization Modeling Language (OML) เมื่อคุณเขียนข้อจำกัด ระบบใช้โปรแกรมแก้ปัญหาข้อจำกัด Microsoft Solver Foundation เพื่อแก้ไขข้อจำกัด

ฉันควรใช้ข้อจำกัดตารางหรือข้อจำกัดนิพจน์

คุณสามารถใช้ทั้งนิพจน์ข้อจำกัดหรือข้อจำกัดตาราง ขึ้นอยู่กับว่าคุณต้องการสร้างข้อจำกัดอย่างไร คุณสร้างข้อจำกัดตารางเป็นเมทริกซ์ ในขณะที่ข้อจำกัดนิพจน์เป็นคำสั่งแต่ละรายการ เมื่อคุณจัดโครงแบบผลิตภัณฑ์ ไม่สำคัญว่าจะใช้ชนิดของข้อจำกัดใด ตัวอย่างต่อไปนี้จะแสดงความแตกต่างของสองวิธี

เมื่อคุณจัดโครงแบบผลิตภัณฑ์โดยใช้การตั้งค่าข้อจำกัดต่อไปนี้ ชุดข้อมูลเหล่านี้ได้รับอนุญาต:

  • ผลิตภัณฑ์สีดำ และขนาด 30 หรือ 50
  • ผลิตภัณฑ์สีแดง และขนาด 20

การตั้งค่าข้อจำกัดตาราง

สี ขนาด
สีดำ 30
สีดำ 50
สีแดง 20

การตั้งค่าข้อจำกัดนิพจน์

(สี == "ดำ" & (ขนาด == "30" | ขนาด == "50")) | (สี == "แดง" & ขนาด = "20")

ฉันควรใช้ตัวดำเนินการ หรือ infix สัญลักษณ์เมื่อฉันเขียนข้อจำกัดนิพจน์หรือไม่

คุณสามารถเขียนข้อจำกัดนิพจน์ โดยใช้ทั้งตัวดำเนินการคำนำหน้าที่พร้อมใช้งาน หรือ สัญลักษณ์ infix สำหรับการดำเนินการ Min, Max และ Absคุณไม่สามารถใช้สัญลักษณ์ infix ได้ ตัวดำเนินการเหล่านี้จะรวมเป็นตัวดำเนินการมาตรฐานในภาษาการเขียนโปรแกรมส่วนใหญ่

ตัวดำเนินการและสัญลักษณ์ infix ใดที่ฉันสามารถใช้เขียนข้อจำกัดนิพจน์

ตารางต่อไปนี้แสดงรายการตัวดำเนินการและสัญลักษณ์ infix ที่คุณสามารถใช้เมื่อคุณเขียนข้อจำกัดนิพจน์สำหรับส่วนประกอบในแบบจำลองการตั้งค่าคอนฟิกผลิตภัณฑ์ ในตัวอย่างในตารางแรกนี้ แสดงวิธีการเขียนนิพจน์โดยใช้สัญลักษณ์ infix หรือตัวดำเนินการ

ผู้ปฏิบัติงาน คำอธิบาย ไวยากรณ์ ตัวอย่างเช่น
บ่งชี้ ถ้าเงื่อนไข a เป็นจริง ให้ใช้ข้อจำกัด b บ่งชี้[a, b], infix: a -: b
  • ตัวดำเนินการ: หมายถึง [x != 0, y >= 0]
  • สัญลักษณ์ Infix: x != 0 -: y >= 0
และ จะเป็นจริงหากเงื่อนไขทั้งหมดเป็นจริง ถ้าหมายเลขของเงื่อนไขเป็น 0 (ศูนย์) จะให้ผล จริง และ[args], infix: a & b & ... & z
  • ตัวดำเนินการ: และ [x == 2, y <= 2]
  • สัญลักษณ์ Infix: x == 2 & y <= 2
หรือ จะเป็นจริงหากเงื่อนไขใดๆ เป็นจริง ถ้าหมายเลขของเงื่อนไขเป็น 0 (ศูนย์) จะให้ผล เท็จ หรือ[args], infix: a | b | ... | z
  • ตัวดำเนินการ: หรือ[x == 2, y <= 2]
  • สัญลักษณ์ Infix: x == 2 | y <= 2
บวก คือผลรวมเงื่อนไข ถ้าหมายเลขของเงื่อนไขเป็น 0 (ศูนย์) จะให้ผล 0 บวก[args], infix: a + b + ... + z
  • ตัวดำเนินการ: บวก[x, y, 2] == z
  • สัญลักษณ์ Infix: x + y + 2 == z
ลบ ปฏิเสธอาร์กิวเมนต์ ต้องมีเพียงหนึ่งเงื่อนไขที่ตรงทุกประการ ลบ[expr], infix: -expr
  • ตัวดำเนินการ: ลบ[x] == y
  • สัญลักษณ์ Infix: -x == y
Abs นำค่าสัมบูรณ์ของเงื่อนไข ต้องมีเพียงหนึ่งเงื่อนไขที่ตรงทุกประการ Abs[expr] ตัวดำเนินการ: Abs[x]
เวลา นำผลิตภัณฑ์ของเงื่อนไข ถ้าหมายเลขของเงื่อนไขเป็น 0 (ศูนย์) จะให้ผล 1 เวลา[args], infix: a * b * ... * z
  • ตัวดำเนินการ: เวลา[x, y, 2] == z
  • สัญลักษณ์ Infix: x * y * 2 == z
กำลัง นำเลขชี้กำลัง มีเลขยกกำลังจากขวาไปซ้าย (หรืออีกนัยหนึ่งคือ การเชื่อมโยงสิทธิ์) ดังนั้น Power[a, b, c] เทียบเท่ากับ Power[a, Power[b, c]] Power สามารถใช้ได้เมื่อการยกกำลังมีค่าเป็นค่าบวกเท่านั้น กำลัง[args], infix: a ^ b ^ ... ^ z
  • ตัวดำเนินการ: Power[x, 2] == y
  • สัญลักษณ์ Infix: x ^ 2 == y
สูงสุด ก่อให้เกิดเงื่อนไขใหญ่ที่สุด ถ้าหมายเลขของเงื่อนไขเป็น 0 (ศูนย์) จะให้ผล อนันต์ สูงสุด[args] ตัวดำเนินการ: ค่าสูงสุด[x, y, 2] == z
ต่ำสุด ก่อให้เกิดเงื่อนไขเล็กที่สุด ถ้าหมายเลขของเงื่อนไขเป็น 0 (ศูนย์) จะให้ผล อนันต์ ต่ำสุด[args] ตัวดำเนินการ: ค่าต่ำสุด[x, y, 2] == z
ไม่ใช่ ก่อให้เกิดตัวผกผันทางตรรกะของเงื่อนไข ต้องมีเพียงหนึ่งเงื่อนไขที่ตรงทุกประการ ไม่[expr], infix: !expr
  • ตัวดำเนินการ: ไม่ใช่[x] & ไม่ใช่[y == 3]
  • สัญลักษณ์ Infix: !x!(y == 3)

ตัวอย่างในตารางถัดไปแสดงวิธีการเขียนสัญลักษณ์ Infix

Infix สัญลักษณ์ คำอธิบาย
x + y + z การเพิ่มขึ้น
x * y * z คูณ
x - y การลบเลขฐานสองถูกแปลเหมือนกับการเพิ่มเลขฐานสองเมื่อมีวินาทีที่ปฏิเสธ
x ^ y ^ z การยกกำลังที่มีทิศทางจากขวาไปซ้าย
!x ไม่ใช่บูลีน
x -: y การส่อความบูลีน
x y
x & y & z บูลีนและ
x == y == z ความเท่าเทียม
x != y != z ชัดเจน
x < y < z น้อยกว่า
x > y > z มากกว่า
x <= y <= z น้อยกว่าหรือเท่ากับ
x >= y >= z มากกว่าหรือเท่ากับ
(x) วงเล็บแทนที่ความสำคัญเริ่มต้น

เหตุใดข้อจำกัดนิพจน์ของฉันจึงถูกตรวจสอบไม่ถูกต้อง

คุณไม่สามารถใช้คำสำคัญที่สำรองไว้เป็นชื่อโปรแกรมแก้ปัญหาแอททริบิวต์ ส่วนประกอบ หรือส่วนประกอบย่อยในแบบจำลองการตั้งค่าคอนฟิกผลิตภัณฑ์  นี่คือรายการของคำสำคัญที่สงวนไว้ ซึ่งคุณไม่สามารถใช้ได้:

  • เพดานเงิน
  • องค์ประกอบ
  • เท่ากับ
  • ขั้นต่ำสุด
  • ถ้า
  • น้อยกว่า
  • มากกว่า
  • บ่งชี้
  • ล็อก
  • สูงสุด
  • นาที
  • ลบ
  • บวก
  • กำลัง
  • เวลา
  • ช่อง
  • รุ่น
  • การตัดสินใจ
  • เป้าหมาย

แหล่งข้อมูลเพิ่มเติม

สร้างข้อจำกัดนิพจน์

เพิ่มการคำนวณไปยังแบบจำลองการจัดโครงแบบผลิตภัณฑ์