แชร์ผ่าน


ปรับปรุงประสิทธิภาพของกลไกการจัดกำหนดการ

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

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

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

  • กระบวนการผลิตที่มีการดำเนินงานหลายอย่าง
  • กระบวนการผลิตที่มีการดำเนินงานที่เกิดขึ้นควบคู่กัน
  • การดำเนินงานที่มีปริมาณทรัพยากรสูงกว่าหนึ่งรายการ
  • การดำเนินงานที่มีทรัพยากรที่ใช้ได้หลายอย่าง
  • การใช้ฮาร์ดลิงค์
  • การใช้กำลังการผลิตที่มีจำกัด
  • จำนวนของปฏิทินที่แตกต่างกันที่ใช้
  • จำนวนช่องเวลาการทำงานสำหรับแต่ละวันในปฏิทิน
  • ระยะเวลารวมของกระบวนการผลิต
  • การรันกลไกการจัดกำหนดการหลายชุดควบคู่กัน

ภาพรวมของโฟลว์การจัดกำหนดการพื้นฐาน

เมื่อต้องการทำความเข้าใจวิธีการตั้งค่าที่กำหนดอาจส่งผลกระทบต่อประสิทธิภาพการทำงาน ควรทำความเข้าใจบางอย่างเกี่ยวกับโฟลว์ของกระบวนการทำงาน ทั้งภายในกลไกจัดการและในรหัส X++ ที่อยู่รอบๆ

กระบวนการพื้นฐานของการจัดกำหนดการใบสั่งประกอบด้วยขั้นตอนหลักสามขั้นตอน:

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

โหลดข้อมูลลงในกลไกจัดการ

กลไกการจัดกำหนดการมีรูปแบบข้อมูลที่เป็นนามธรรมมากกว่าฐานข้อมูล Supply Chain Management เนื่องจากได้รับการสร้างขึ้นเป็นกลไกจัดการทั่วไปที่สามารถจัดการกับแหล่งข้อมูลที่แตกต่างกันได้ แนวคิดของกระบวนการผลิต การดำเนินงานรอง และเวลาที่ใช้ในการผลิตต้องเป็น "แปล" เป็นแบบจำลองงานทั่วไปและข้อจำกัดที่กลไกจัดการแสดง ตรรกะสำหรับการสร้างแบบจำลองมีจำนวนตรรกะทางธุรกิจที่สำคัญและแตกต่างกันไปขึ้นอยู่กับข้อมูลต้นทาง คลาส X++ ที่รับผิดชอบคือ WrkCtrScheduler และมีคลาสที่สืบทอดมาสำหรับใบสั่งผลิตที่วางแผน ใบสั่งผลิตที่นำออกใช้ และการคาดการณ์โครงการ

ตัวอย่างเช่น พิจารณากระบวนการผลิตที่แสดงอยู่ในตารางและรูปภาพต่อไปนี้ ซึ่งดูเหมือนง่าย

การดำเนินงาน ลำดับที่ ลำดับความสำคัญ เวลาเซ็ตอัพ เวลาที่ใช้ในการผลิต เวลาในการรอหลังจาก ปริมาณทรัพยากร ถัดไป
10 หลัก 1.00 2.00 1 20
10 รองอันดับที่ 1 1 20
20 หลัก 3.00 1.00 3 0

ตัวอย่างไดอะแกรม rout

เมื่อส่งไปยังกลไกจัดการ จะถูกแบ่งออกเป็นแปดงาน ดังที่แสดงในภาพประกอบต่อไปนี้ (เลือกรูปเพื่อขยาย)

การจัดกำหนดการงานกลไกจัดการ

ลิงค์มาตรฐานระหว่างงานสองอย่างคือ FinishStart หมายความว่าเวลาสิ้นสุดของงานหนึ่งต้องอยู่ก่อนเวลาเริ่มต้นของงานอื่น เนื่องจากการตั้งค่าต้องได้รับการดำเนินการโดยทรัพยากรเดียวกันที่จะดำเนินการในภายหลัง จึงมีข้อจำกัด OnSameResource ระหว่างการตั้งค่า ระหว่างงานสำหรับการดำเนินงานหลักและรองสำหรับ10 มีลิงค์ StartStart และ FinishFinish ซึ่งหมายความว่างานต้องทั้งเริ่มต้นและสิ้นสุดในเวลาเดียวกัน และมีข้อจำกัด NotOnSameResource ซึ่งจะป้องกันไม่ให้มีทรัพยากรเดียวกันสำหรับการดำเนินงานหลักและรอง

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

กลไกการจัดกำหนดการเข้าใจแนวคิดของงานเท่านั้น และไม่มีแนวคิดการดำเนินงาน ซึ่งหมายความว่าเมื่อทำการจัดตารางการผลิตระดับการดำเนินงาน การดำเนินงานจะถูกแบ่งเป็นงาน แม้ว่าจะไม่ถูกรักษาไว้ในฐานข้อมูล

สำหรับแต่ละงานเราจะกำหนดความต้องการกำลังการผลิตตามความต้องการของงาน (จำนวนวินาทีที่จำเป็น) ทั้งนี้ขึ้นอยู่กับวิธีการกำหนดคความต้องการทรัพยากร เราอาจ สำหรับแต่ละงาน ส่งรายการของทรัพยากรที่เกี่ยวข้องทั้งหมดที่มีผลบังคับใช้ ที่งานอาจรันและความต้องการกำลังการผลิตสำหรับทรัพยากรเฉพาะ ถึงแม้ว่าจะมีการส่งรายการทรัพยากรที่เกี่ยวข้องในเมื่อสร้างแบบจำลอง กลไกจัดการจะยังคงต้องตรวจสอบให้แน่ใจว่าการกำหนดทรัพยากรมีผลบังคับใช้จริงสำหรับระยะเวลาของงานทั้งหมด

การจัดกำหนดการกลไกจัดการภายใน

การจัดกำหนดการกลไกจัดการอินเทอร์เฟส

เพื่อให้ได้แนวคิดเกี่ยวกับวิธีการทำงานของกลไกจัดการภายใน ดีที่สุดที่จะดูฟังก์ชันการทำงานที่แสดงภายนอก ใน X++ อินเทอร์เฟสหลักคือ WrkCtrSchedulerEngineInterface มีวิธีการที่อธิบายไว้ในส่วนย่อยต่อไปนี้

กลไกจัดการทั่วไป

วิธีการ วัตถุประสงค์
run จัดกำหนดการงานที่โหลดทั้งหมดและส่งคืนรหัสข้อผิดพลาด
getJobSchedulingSequenceResult เรียกดูผลลัพธ์ของการจัดกำหนดการและงานที่เกิดข้อผิดพลาดแรกสำหรับลำดับที่ระบุโดยงานที่ระบุ
validateJobCapacityReservations ตรวจสอบความถูกต้องของการจองกำลังการผลิตสำหรับงานทั้งหมดที่จัดเก็บโดยกลไกจัดการ
setReservationsTimeStamp ส่งการลงเวลาไปยังกลไกจัดการที่กำหนดไว้สำหรับการจองกำลังการผลิตใหม่ทั้งหมด สำหรับงานที่จัดกำหนดการไว้ในแคชของกลไกจัดการ
addPropertyToGroupAggregation เพิ่มคำนำหน้าคุณสมบัติให้ชุดของคุณสมบัติที่ใช้ เมื่อมีการรวมกำลังการผลิต
addResource เพิ่มทรัพยากรลงในกลุ่มทรัพยากรกลไกการจัดกำหนดการ
addResourceGroup เพิ่มกลุ่มทรัพยากรลงในกลุ่มของกลุ่มทรัพยากรกลไกการจัดกำหนดการ
addResourceGroupMembership เพิ่มทรัพยากรเป็นสมาชิกของกลุ่มทรัพยากร
addOptimizationGoal เพิ่มเป้าหมายการเพิ่มประสิทธิภาพการจัดกำหนดการ (ระยะเวลาหรือระดับความสำคัญ)

งานแต่ละงาน

วิธีการ วัตถุประสงค์
addJobInfo เพิ่มเรกคอร์ดข้อมูลงานที่แจ้งให้กลไกจัดการเกี่ยวกับงานที่ควรมีการจัดกำหนดการ
addConstraintJobEndsAt เพิ่มข้อจำกัดที่งานควรสิ้นสุดในวันที่และเวลาที่ระบุ
addConstraintJobStartsAt เพิ่มข้อจำกัดที่งานควรเริ่มในวันที่และเวลาที่ระบุ
addConstraintMaxJobDays กำหนดข้อจำกัดที่งานอาจครอบคลุมถึงจำนวนวันที่สูงสุดที่ระบุ
addConstraintResourceRequirement เพิ่มข้อจำกัดที่งานต้องจัดกำหนดการในทรัพยากรที่ระบุ
addJobBindPriority เพิ่มระดับความสำคัญของการผูกงานสำหรับการจับคู่ (งาน ระดับข้อจำกัด) ค่าระดับความสำคัญสูงหมายความว่าตัวแปรงานจะถูกผูกไว้ก่อนหน้านี้ งานจะได้รับการประมวลผลก่อนงานที่มีค่าระดับความสำคัญต่ำกว่าในลำดับเดียวกัน
addJobCapacity เพิ่มข้อมูลปริมาณการใช้กำลังการผลิตสำหรับงาน (เช่น รันไทม์ของงานที่จำเป็น) โดยไม่ขึ้นอยู่กับทรัพยากรที่จะรันงาน
addJobResourceCapacity เพิ่มทรัพยากรลงในชุดของทรัพยากรที่อาจจะใช้ในการทำงาน และระบุกำลังการผลิตที่จำเป็นเมื่อรันทรัพยากรนั้น
addJobGoal เพิ่มข้อมูลเป้าหมายของงานสำหรับระดับข้อจำกัดที่ระบุ (เวลาสิ้นสุดแรกสุด หรือเวลาเริ่มต้นล่าสุด)
addJobResourcePriority เพิ่มระดับความสำคัญที่จะใช้เมื่อมีการจัดกำหนดการการผลิตระดับงานในทรัพยากร
addJobResourceRuntime ระบุเวลาของงานที่ขึ้นอยู่กับทรัพยากรที่จะจัดกำหนดการงาน
addJobRuntime ระบุเวลาของงานที่ไม่ขึ้นอยู่กับทรัพยากรที่จะจัดกำหนดการงาน
scheduleJobOnResourceGroup ทำเครื่องหมายงานสำหรับการจัดกำหนดการในระดับกลุ่มทรัพยากร
setJobResourcePreemptionAllowed ตั้งค่าว่าอนุญาตให้ preemption สำหรับงานในทรัพยากร (ถ้ากลไกจัดการสามารถจัดกำหนดการงานในช่องกำลังการผลิตที่ไม่ติดกัน)
setRequiredNumberOfResources ตั้งค่าจำนวนทรัพยากรที่จำเป็นสำหรับการจัดกำหนดการงาน (สำหรับการจัดตารางการผลิตระดับการดำเนินงานเท่านั้น)

ข้อจำกัดระหว่างงาน

วิธีการ วัตถุประสงค์
addJobLink เพิ่มลิงค์ (เช่น การเสร็จสิ้น>การเริ่มต้น) ระหว่างงานสองงาน
addConstraintEndsDelayed กำหนดข้อจำกัดของงานที่ไม่สามารถสิ้นสุดก่อนการสิ้นสุดของงานอื่นบวกเวลาหน่วง
addConstraintJobListWorkingTimeIntersect เพิ่มข้อจำกัดว่าช่องกำลังการผลิตที่จองไว้สำหรับงานต้องอยู่บนเวลาการทำงานที่ตัดกันสำหรับสองทรัพยากรที่ใช้โดยงาน
addConstraintJobOverlap เพิ่มข้อจำกัดที่กำหนดวิธีการเรียงเวิร์กโฟลว์ เมื่อปริมาณของสินค้าที่กำหนดสามารถย้ายไปมาระหว่างสองทรัพยากร ในขณะที่ทรัพยากรแรกยังคงประมวลผลไม่เสร็จ เพื่อให้ทรัพยากรที่สองสามารถเริ่มต้นการประมวลผลได้
addConstraintNotOnSameResource เพิ่มข้อจำกัดที่สองงานไม่ควรมีการจัดกำหนดการในทรัพยากรเดียวกัน
addConstraintOnSameResource เพิ่มข้อจำกัดที่สองงานต้องใช้การจัดกำหนดการในทรัพยากรเดียวกัน
addJobSameReservations เพิ่มข้อจำกัดที่งานต้องเสร็จสิ้นโดยมีการจองกำลังการผลิตสำหรับช่องเวลาเดียวกันกับงานหลัก
setPrimaryParallelJob เพิ่มข้อมูลเกี่ยวกับงานที่เป็นงานหลักในชุดงานที่ทำควบคู่กัน

โปรแกรมแก้ปัญหา

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

ตัวแปร

ตัวแปรแสดงถึงโดเมนของค่าที่เป็นไปได้ กลไกการจัดกำหนดการมีตัวแปรอยู่สองชนิด:

  • ตัวแปรวันที่และเวลา - มีโดเมนของวันที่และเวลาทั้งหมด และโดเมนสามารถจำกัดโดยการย้ายขอบด้านล่างและด้านบนสำหรับเวลาของตัวแปรที่อยู่ใกล้กัน
  • ตัวแปรของทรัพยากร - มีโดเมนของทรัพยากรที่เกี่ยวข้อง และสามารถจำกัดโดเมนได้โดยการตัดทรัพยากรออกจากรายการ

ข้อจำกัด

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

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

ระดับข้อจำกัด

เมื่อดำเนินการจัดกำหนดการเป็นส่วนหนึ่งของระยะความครอบคลุมของการวางแผนความต้องการวัสดุ (MRP) ใบสั่งจะมีการจัดกำหนดการย้อนหลังจากวันที่ของความต้องการ อย่างไรก็ตาม ถ้าไม่สามารถค้นหาตารางเวลาที่เริ่มต้นในวันนี้หรือหลังจากนี้ และสิ้นสุดก่อนวันที่ความต้องการ ทิศทางการจัดกำหนดการจะเปลี่ยนเป็นไปข้างหน้าจากวันนี้

กฎทางธุรกิจหลักนี้ได้รับการจัดการโดยการจัดระดับข้อจำกัด ถ้าไม่พบโซลูชันเมื่อใช้ข้อจำกัดในระดับสูงสุด ข้อจำกัดในระดับดังกล่าวจะถูกทิ้งไปทั้งหมด และระดับที่ต่ำกว่าจะถูกใช้ ใน Praxis หมายความว่าสำหรับการจัดกำหนดการแบบย้อนหลัง แบบจำลองจะมีระดับ1 ที่มีเป้าหมายงานเป็นเวลาเริ่มต้นล่าสุดให้ข้อจำกัดเวลาสิ้นสุดสูงสุด (วันที่ของความต้องการ) และระดับ0 ที่มีเป้าหมายงานเป็นเวลาสิ้นสุดเร็วที่สุด และให้ข้อจำกัดของเวลาเริ่มต้นต่ำสุดเป็นวันนี้

อัลกอริทึม

ขั้นตอนหลักของอัลกอริทึมงกลไกจัดการ ได้แก่:

  1. ค้นหาลำดับ (กลุ่มงาน) ซึ่งสามารถแก้ไขได้ต่างหาก
  2. ลองค้นหาโซลูชันเริ่มต้นสำหรับลำดับสำหรับระดับข้อจำกัดสูงสุด
    1. เรียงเวิร์กโฟลว์ในลำดับตามเป้าหมายและระดับความสำคัญของงาน เพื่อให้พบงานเริ่มต้น
    2. วนรอบของงานในลำดับต่อไปนี้:
      1. ค้นหาข้อจำกัดทั้งหมดที่จำเป็นต้องแพร่กระจาย และรันการเผยแพร่
      2. ถ้ามีการผูกตัวแปรทั้งหมดสำหรับงาน ดังนั้นโซลูชันสำหรับงานถูกพบแล้ว
      3. ถ้าตัวแปรตัวใดตัวหนึ่งไม่สามารถผูกได้โดยไม่ละเมิดข้อจำกัด ให้ย้อนกลับการผูกตัวแปร ลองใช้ค่าอื่นในโดเมน (สำหรับตัวแปรของทรัพยากร) และรันการเผยแพร่ข้อจำกัดอีกครั้ง
  3. ถ้าไม่พบโซลูชันใดๆ ดังนั้นข้อจำกัดทั้งหมดในระดับข้อจำกัดปัจจุบันถูกเอาออกแล้ว ระดับข้อจำกัดลดลง (ถ้ามีระดับต่ำกว่า) และการค้นหาโซลูชันลองดำเนินการใหม่อีกครั้งด้วยชุดข้อจำกัดใหม่
  4. ถ้าพบโซลูชันที่เป็นไปได้ ระยะการเพิ่มประสิทธิภาพจะเริ่ม ซึ่งจะพยายามหาโซลูชันที่ดียิ่งขึ้นจนกว่าจะหมดเวลาการเพิ่มประสิทธิภาพแล้ว หรือชุดทรัพยากรทั้งหมดหมดแล้ว

โปรแกรมแก้ปัญหาข้อจำกัดไม่ทราบข้อกำหนดของอัลกอริทึมการจัดกำหนดการ ซึ่งอยู่ในคำนิยามและการรวมกันของข้อจำกัดต่างๆ ที่ "มายากล" เกิดขึ้น

การกำหนดเวลาทำงาน

ข้อจำกัด (ภายใน) ส่วนใหญ่ในกลไกจัดการจะควบคุมเวลาการทำงานและกำลังการผลิตของทรัพยากร อย่างเช่น งานคือการข้ามช่องเวลาการทำงานสำหรับทรัพยากรจากจุดที่กำหนดในทิศทางที่กำหนด และค้นหาช่วงเวลาที่ยาวเพียงพอที่งานที่ต้องการความจุ (เวลา) สามารถบรรจุได้

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

ข้อมูลปฏิทินมีการร้องขอโดยกลไกจัดการในกลุ่ม โดยเรียกวิธีการคลาส X++ WrkCtrSchedulingInteropDataProvider.getWorkingTimes คำขอมีไว้สำหรับรหัสปฏิทินที่ระบุในช่วงเวลาที่ระบุ ทั้งนี้ขึ้นอยู่กับสถานะของแคชในเซิร์ฟเวอร์ใน Supply Chain Management แต่ละคำขอเหล่านี้อาจสิ้นสุดลงในการเรียกฐานข้อมูลต่างๆ ซึ่งใช้เวลานาน (สัมพันธ์กับเวลาการคำนวณแบบบริสุทธิ์) นอกจากนี้ ถ้าปฏิทินมีข้อกำหนดเวลาการทำงานที่ซับซ้อนมากพร้อมกับช่วงเวลาการทำงานหลายช่วงต่อวัน ซึ่งจะเพิ่มเวลาที่ใช้ในการบรรทุกสินค้า

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

กำลังการผลิตมีจำกัด

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

การใช้กำลังการผลิตจำกัดจะทำให้การจัดกำหนดการทำงานนานขึ้น เนื่องจากสาเหตุหลายประการดังต่อไปนี้

  • การดึงข้อมูลกำลังการผลิตจากฐานข้อมูลเป็นการดำเนินงานที่ช้า และการแคชฝั่งฝั่งเซิร์ฟเวอร์ของข้อมูลกำลังการผลิตโดยทั่วไปจะไม่ดีเท่ากับเวลาการทำงาน เนื่องจากไม่ได้ใช้ร่วมกันระหว่างทรัพยากรต่างๆ เหมือนปฏิทินทั่วไป
  • จำนวนช่องเวลาการทำงานที่จะดำเนินการเพิ่มขึ้นเนื่องจากการแบ่ง และช่องสำหรับรอบระยะเวลายาวต้องมีการตรวจสอบก่อนที่จะพบโซลูชัน
  • หลังจากการจัดกำหนดการเสร็จสมบูรณ์แล้ว ต้องดำเนินการตรวจสอบความขัดแย้งของการจองสินค้า (โปรดดูที่หัวข้อ "การรันการจัดตารางการผลิตระดับ" แบบขนาน "สำหรับรายละเอียด)

การตรวจสอบชุดของทรัพยากร

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

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

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

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

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

การรันกลไกการจัดกำหนดการควบคู่กัน

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

ใน MRP ใบสั่งผลิตทั้งหมดสำหรับระดับรายการวัสดุและส่วนประกอบ (BOM) ที่กำหนดจะมีการจัดกำหนดการในลำดับวันที่ความต้องการ ซึ่งหมายความว่าใบสั่งเหล่านั้นมีวันที่ความต้องการแรกสุดควรได้รับการจัดกำหนดการก่อน จึงจะมีโอกาสสูงสุดในการได้รับกำลังการผลิตของทรัพยากร อย่างไรก็ตาม การเบิกหลายกลไกจากรายการของใบสั่งที่ไม่มีกำหนดการไม่สามารถมั่นใจได้อีกต่อไป เนื่องจากการดำเนินการนี้อาจทำได้เร็วกว่าอีกครั้งหนึ่ง

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

  • จัดกำหนดการใบสั่ง (ล็อค-ฟรี) และรับการจองกำลังการผลิต
  • ใช้ล็อค
  • ตรวจสอบว่ามีการจองกำลังการผลิตใหม่อยู่สำหรับทรัพยากรที่จัดกำหนดการไว้ในช่วงเวลาหรือไม่
    • ถ้าไม่มี ให้เขียนกำลังการผลิตและปล่อยล็อค
    • ถ้าใช่ ให้ปล่อยล็อค และจัดกำหนดการใบสั่งใหม่ตั้งแต่เริ่มต้น

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

ประสิทธิภาพการจัดตารางการผลิตระดับการดำเนินงาน

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

กำลังการผลิตของกลุ่มทรัพยากรจะขึ้นอยู่กับว่ามีทรัพยากรใดบ้างและเท่าไหร่บ้างที่เป็นสมาชิกของกลุ่มทรัพยากร กลุ่มทรัพยากรในตัวเองไม่มีกำลังการผลิตใดๆเฉพาะเมื่อทรัพยากรเป็นสมาชิกของกลุ่มเท่านั้นที่จะมีกำลังการผลิตเท่านั้น เนื่องจากการเป็นสมาชิกของกลุ่มทรัพยากรอาจแตกต่างกันไปตามเวลาที่ต้องใช้กำลังการผลิตสำหรับแต่ละวัน

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

ตัวอย่างเช่น ถ้าเวลาการทำงานสำหรับกลุ่มทรัพยากรในวันที่เฉพาะหนึ่งมีตั้งแต่ 8:00 ถึง 16:00 การดำเนินงานหนึ่งไม่สามารถใส่โหลดเพิ่มเติมบนกลุ่มทรัพยากรกว่าสิ่งที่สามารถพอดีกับ 8 ชั่วโมง ไม่ว่าจะมีกำลังการผลิตเท่าไรที่กลุ่มทรัพยากรมีอยู่ทั้งหมดในวันนั้น กำลังการผลิตที่พร้อมใช้งานอาจจำกัดจำนวนงานในศูนย์การผลิตต่อไป

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

กำลังการผลิตของกลุ่มทรัพยากรที่พร้อมใช้งาน = กำลังการผลิตสำหรับทรัพยากรในกลุ่มตามจำนวนงานการจัดตารางงานตามปฏิทิน – ของทรัพยากรในการดำเนินงานของกลุ่ม – ที่จัดตารางจำนวนงานการผลิตทรัพยากรในการดำเนินการของกลุ่ม – ที่จัดกำหนดการจำนวนงานในกลุ่มทรัพยากร

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

กำลังการผลิตของกลุ่มทรัพยากรสำหรับความสามารถ คือผลรวมของกำลังการผลิตสำหรับทรัพยากรทั้งหมดในกลุ่มทรัพยากร ที่มีความสามารถในการสอบถาม ถ้าทรัพยากรในกลุ่มมีความสามารถ จะไม่มีการพิจารณาระดับของกำลังการผลิต

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

สำหรับวันที่แต่ละวัน จะมีการคำนวณที่จำเป็นดังนี้

กำลังการผลิตที่พร้อมใช้งานสำหรับความสามารถ = กำลังการผลิตสำหรับงานความสามารถ – ที่จัดกำหนดการไว้สำหรับจำนวนงานบนทรัพยากรที่มีความสามารถเฉพาะซึ่งรวมอยู่ในการดำเนินงานของกลุ่มทรัพยากร – ที่จัดกำหนดการไว้สำหรับจำนวนงานบนทรัพยากรที่มีความสามารถเฉพาะซึ่งรวมอยู่ในการดำเนินงานของกลุ่มทรัพยากร – ที่จัดกำหนดการสำหรับจำนวนงานบนกลุ่มทรัพยากรเองด้วยตนเอง ซึ่งจำเป็นต้องใช้ความสามารถเฉพาะ

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

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

ปรับปรุงประสิทธิภาพการทำงาน MRP

วิดีโอการประชุมทางเทคนิคต่อไปนี้แสดงเทคนิคต่างๆ เกี่ยวกับวิธีปรับปรุงประสิทธิภาพการวางแผนหลัก เมื่อคุณใช้งาน MRP กับกลไกจัดการการวางแผนหลักที่ไม่รองรับ: ช่วยด้วย MRP ช้า

การดูอินพุทและเอาท์พุทของกลไกจัดการการจัดกำหนดการ

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

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

  • Log.txt - นี่คือไฟล์บันทึกที่อธิบายขั้นตอนที่กลไกจัดการผ่าน ซึ่งมีความซับซ้อนมากและค่อนข้างน่ากังวล แต่เมื่อใช้เป็นส่วนหนึ่งของการทดลองกับการตั้งค่ากระบวนการผลิต เพื่อแก้ไขปัญหาประสิทธิภาพ การทำงานแรกที่จะค้นหา คือความแตกต่างในเวลาระหว่างรายการแรกและรายการสุดท้าย ซึ่งจะช่วยให้เวลาที่แน่นอนที่จะใช้กำหนดตารางทำงาน
  • XmlModel.xml - ซึ่งประกอบด้วยแบบจำลองที่สร้างขึ้นใน X++ และที่กลไกจัดการดำเนินการ JobId ใช้ในไฟล์ที่สัมพันธ์กับ RecId จากตารางต้นทางที่มีงาน (ReqRouteJob หรือ ProdRouteJob) สิ่งทั่วไปในการค้นหาในไฟล์นี้ คือวันที่ที่กำหนดไว้ใน ConstraintJobStartsAt และ ConstraintJobEndsAt ตามที่คาดไว้ว่าคุณสมบัติ JobGoal ถูกตั้งค่าไว้อย่างถูกต้อง และมีการเชื่อมโยงกับงานที่เกี่ยวข้องกับแต่ละอื่นๆ ผ่านข้อจำกัด JobLink
  • XmlSlots.xml - ซึ่งประกอบด้วยเวลาการทำงาน และการจองกำลังการผลิตทั้งหมดที่กลไกจัดการร้องขอ เวลาทำงานของปฏิทินและการจองจะถูกร้องขอโดยกลไกจัดการสำหรับรอบระยะเวลาที่พยายามจะวางงาน (และบัฟเฟอร์พิเศษ) ดังนั้นถ้าไฟล์มีเวลามากในอนาคต -ก็อาจเป็นการบ่งชี้ว่ามีปัญหาเกิดขึ้นกับการตั้งค่า โหนด ResourceProperty จะแสดงสำหรับทรัพยากรแต่ละกลุ่ม และความสามารถในการเชื่อมโยงกับแต่ละรอบระยะเวลา
  • Result.xm - ซึ่งประกอบด้วยผลลัพธ์ของการรันการจัดกำหนดการ

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

ประสิทธิภาพการแก้ไขปัญหา

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

การดำเนินการจัดกำหนดการเป็นส่วนหนึ่งของ MRP เมื่อไม่ต้องการ

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

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

กระบวนการผลิตที่มีการดำเนินงานที่ไม่จำเป็น

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

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

การดำเนินงานที่มีทรัพยากรที่ใช้ได้หลายอย่าง

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

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

กระบวนการผลิตที่มีการดำเนินงานที่เกิดขึ้นควบคู่กัน

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

อีกทางหนึ่งสำหรับการใช้การดำเนินงานแบบขนานอาจเป็นแบบจำลองคู่กับทรัพยากร "เสมือน" (ซึ่งจะแสดงถึงทีมงานที่อยู่ในระหว่างการดำเนินงานเสมอ) หรือไม่ใช่แบบจำลองอย่างใดอย่างหนึ่งของการดำเนินงาน ถ้าไม่ได้แสดงถึงคอขวด

กระบวนการผลิตที่มีปริมาณทรัพยากรสูงกว่า 1 รายการ

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

การดําเนินงานรองที่มีปริมาณการใช้ทรัพยากรมากกว่าหนึ่งหมายความว่าต้องใช้ปริมาณที่ระบุของทรัพยากรรองต่อแต่ละทรัพยากรของการดําเนินงานหลัก ตัวอย่างเช่น ถ้าการดําเนินงานหลักมีปริมาณของทรัพยากรที่ตั้งค่าเป็นสองและการดําเนินงานรองมีการการตั้งค่าปริมาณทรัพยากรเป็นสาม ส่วนรวมของทรัพยากรหกทรัพยากรที่ต้องใช้ในการดําเนินงานรอง

การใช้ที่มากเกินไปของกำลังการผลิตที่มีจำกัด

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

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

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

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

ปฏิทินแยกต่างหากสำหรับแต่ละทรัพยากร

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

จำนวนช่องเวลาการทำงานสูงสำหรับแต่ละวันในปฏิทิน

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

การหมดเวลาของการจัดกำหนดการมีขนาดใหญ่ (หรือไม่มี)

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

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

ค่าสำหรับ การเพิ่มประสิทธิภาพความพยายามในการเพิ่มประสิทธิภาพ ควบคุมจำนวนวินาทีที่ใช้มากที่สุดในการค้นหาวิธีการแก้ปัญหาที่ดีกว่าที่พบในครั้งแรก การดำเนินการนี้จะมีผลกระทบต่อกระบวนการผลิตที่ใช้การดำเนินงานขนาน เนื่องจากจำเป็นต้องใช้ในการทดสอบชุดต่างๆ

หมายเหตุ

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