Page 1 of 1

สอบถามการใช้คำสั่งใน Excel ครับ

Posted: Tue Mar 28, 2017 12:52 am
by Anananan
ต้องการหา Minimum cost โดย

กำหนดให้
i= พืชที่ปลูก I={ผัก1, ผัก2, ข้าว1,ข้าว2}
t=เดือนที่ปลูก T={1,2,3,4,...,12}

A= พ.ท.เพาะปลูกที่มี (ไร่)
Ci = ต้นทุนในการปลูกพืช i (บาท/กก.)
Dit = อุปสงค์พืช i ณ เดือน t (ในรอบการปลูกนั้นๆ) (กก.)
Gi = ปริมาณผลผลิตต่อไร่พืช i (กก./ไร่)

Decision Variables : Xit = พื้นที่ปลูกพืช i ณ เดือน t (ไร่)

Constraints : 1. รวม พ.ท.ปลูกต่อเดือน <= A
2. ปริมาณผลผลิตที่ได้ >= ปริมาณผลผลิตที่ต้องการ (อุปสงค์) ต่อรอบการปลูก

ปัญหาคือ เวลาในการใช้พื้นที่เพื่อปลูกพืชแต่ละชนิดไม่เท่ากัน และต้องการกำหนดเวลาที่จะเริ่มปลูก เช่น
ผัก1 ใช้เวลาปลูก 2 เดือน
ผัก2 ใช้เวลาปลูก 3 เดือน
และ ข้าว 1 และ ข้าว2 ใช้เวลาปลูก 5 เดือน ต้องเริ่มปลูกในเดือนที่ 6 และพื้นที่ที่จะใช้ปลูกข้าวไม่สามารถปลูกผักได้ (ไฮไลท์สีชมพู)

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

อยากทราบว่าจะต้องใช้คำสั่งไหน และทำอย่างไรบ้างครับ

ปล.ไฟล์ที่แนบไปเป็นตัวอย่างของผลที่อยากได้ ประมาณนี้ครับ

Re: สอบถามการใช้คำสั่งใน Excel ครับ

Posted: Tue Mar 28, 2017 7:24 pm
by snasui
:D ลักษณะงานเช่นนั้นต้องอาศัย Solver เข้ามาช่วย ยกเว้นจะเขียนโปรแกรมขึ้นมาเองครับ

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

Re: สอบถามการใช้คำสั่งใน Excel ครับ

Posted: Wed Mar 29, 2017 5:13 pm
by Anananan
ขอบคุณครับอาจารย์
ผักไม่มีการกำหนดเดือนที่เริ่มปลูก สามารถเริ่มปลูกได้ตลอดทั้งปี แต่กำหนดว่าข้าวต้องเริ่มปลูกในเดือนที่ 6 ครับ

Re: สอบถามการใช้คำสั่งใน Excel ครับ

Posted: Thu Mar 30, 2017 8:04 pm
by snasui
:D ผมลองกำหนดตัวอย่างให้แต่ละพื้นที่ปลูกเพาะปลูกแตกต่างกันได้ตามจำนวนที่กำหนดไว้ล่วงหน้า

โดย B24 คีย์สูตร

=SUMPRODUCT(1/COUNTIF(B12:B23,B12:B23))

คัดลอกไปด้านขวาและคัดลอกมาวางแบบค่าในบรรทัดล่าง

จากนั้นกำหนด Constraint และ Method ในการ Solver ตามภาพ พบว่า Solver ไม่สามารถทำงานได้ กรณีนี้คงจะช่วยไม่ได้มากครับ

Re: สอบถามการใช้คำสั่งใน Excel ครับ

Posted: Sun Apr 02, 2017 5:04 pm
by Anananan
ไม่เป็นไรครับอาจารย์ แต่ต้องขอบคุณมากจริงๆ ครับ

Re: สอบถามการใช้คำสั่งใน Excel ครับ

Posted: Wed Apr 05, 2017 2:26 am
by Anananan
ขอถามเพิ่มเติมนะครับ ถ้าใช้ VBA เข้ามาช่วยพอจะทำได้ไหมครับ และถ้าได้ ต้องเขียนอย่างไรบ้าง เพราะตัวผมเองไม่ค่อยมีความรู้เกี่ยวกับ VBA มากนัก

Re: สอบถามการใช้คำสั่งใน Excel ครับ

Posted: Wed Apr 05, 2017 7:48 pm
by snasui
:D จัดการงานลักษณะนี้มีความซับซ้อนสูง ยิ่งมีหลายตัวแปรจะยิ่งซับซ้อน จึงมีผู้เขียน Solver เข้ามาช่วยเพื่อการคำนวณที่ซับซ้อนนี้ หากจะเขียนเองย่อมไม่ง่ายครับ

กรณีที่เป็นคำถามเกี่ยวกับ VBA นั้น ที่ฟอรัมนี้เน้นการตอบเฉพาะที่ติดปัญหา นั่นหมายความว่าต้องเขียนมาเองก่อนแล้วติดปัญหาจึงค่อยนำปัญหานั้นมาถามกันครับ