Harmony Search Algorithm

Harmony Search คิดค้นโดย Dr. Zong Woo Geem ใน ปี 2001 โดยการที่ Dr. Zong Woo Geem  สนใจในการเล่นดนตรี และใฝ่ฝันที่จะเป็นนักดนตรี แต่ครอบครัวต้องการให้เรียน วิศวกรรม (จากการบอกเล่าผ่าน email กับผม) ซึ่ง Dr. Geem ก็เรียน PhD.วิศวกรรมโยธา ในเกาหลี และ ได้แนวคิดจากการการแต่งเพลงของนักดนตรี ในการจะหาตัวโน๊ตที่เหมาะสม สำหรับเครื่องดนตรีแต่ละชนิด ในการจะเล่นกันเป็นวงดนตรี ซึ่งจุดมุ่งหมายเพื่อต้องการสร้าง Algorithm  ที่ดีกว่า เร็วกว่า ขั้นตอนน้อยกว่า วิธีการที่มีอยู่ในขณะนั้น ทั้ง Genetic Algorithm,Simulated Annealing, Evolution Algorithm

     โดยมีขั้นตอนการทำงานดังนี้ คือ

1. สร้าง Harmony memmory สำหรับจำตัวโน๊ตต่างที่ เคยทำการเล่นมาแล้ว โดยการกำหนด จำนวนของ Harmony Size ในตอนเริ่มต้น ซึ่งจะมีจำนวนระหว่าง 10-100 ตามที่เรากำหนด

2 พัฒนา harmony ตัวใหม่ โดย 95% พัฒนาจาก Hamony memory และ 5 % เกิดจากการพัฒนาด้วยตนเอง แล้ว กำหนด Pitch adjustment rate จะกำหนด ประมาณ 70 % จาก Harmony memory และ 40 % สำหรับพัฒนาด้วยตนเอง

3 ทำการเปรียบเทียบ ถ้า new hamony ดีกว่าตัวที่แย่ที่สุดของ harmony memory ตัวที่แย่ที่สุด ก็จะแทนตัวนั้น

4. เมื่อครบกำหนดตามจำนวน Harmony size และ iteration แล้ว จะหยุดการทำงาน และเลือกตัวที่ดีที่สุดของทุก Harmony เป็นคำตอบ