ในเกณฑ์ที่คุณได้ระบุไว้ผมคิดว่าโครงการที่ใกล้เคียงที่สุดที่ฉันรู้ที่จะเป็นมหาวิทยาลัยฟลอริดาเบาบางเมทริกซ์คอลเลกชัน ผู้คนใช้ชุดข้อมูลนี้เป็นประจำเพื่อเปรียบเทียบตัวแก้พีชคณิตเชิงเส้นแบบกระจัดกระจายและคุณสามารถกรองตามแอปพลิเคชันจำนวนที่ไม่ใช่ศูนย์ขนาดของเมทริกซ์และอื่น ๆ ด้วยเว็บอินเตอร์เฟสที่ดีมาก ๆ อินเตอร์เฟส MATLAB หรือ Java GUI ฉันเคยเห็นตารางของปัญหาเหล่านี้ที่ระบุไว้ในเอกสารพร้อมกับตัวแก้ไขเวลาทำงานกับตัวแก้เชิงเส้นพีชคณิตเชิงเส้น 4 ถึง 8 ตัว
ฉันยอมรับว่ามันจะมีประโยชน์ในการรวบรวมฐานข้อมูลดังกล่าวและยิ่งกว่านั้นฉันคิดว่าวิธีการรวบรวมเมทริกซ์กระจัดกระจาย UF สำหรับการรวบรวมข้อมูลนั้นเป็นวิธีที่ยอดเยี่ยมและจะเป็นการเริ่มต้นที่ดีสำหรับทุกคนที่คิดเกี่ยวกับการรับรู้ความคิดนี้ การใช้ปัญหาทั้งหมดในทางปฏิบัติดูเหมือนจะไม่เป็นปัญหาใหญ่ตราบใดที่คุณสามารถเข้าถึงนักแก้ปัญหาทั้งหมดได้ หากคุณมีสิทธิ์เข้าถึงตัวแก้ปัญหาและเครื่องอ้างอิงมาตรฐานที่เชื่อถือได้พร้อมกับซอฟต์แวร์ที่จำเป็นทั้งหมดที่ติดตั้งไว้คุณควรเรียกใช้สคริปต์และรวบรวมข้อมูล ในความคิดของฉันความยากลำบากคือการให้ผู้คนมอบซอฟต์แวร์ให้กับพวกเขาหากไม่ใช่โอเพ่นซอร์ส ถ้าเป็นการโฆษณาคุณสามารถซื้อมันหรืออาจทำให้คนอื่นบริจาคซอฟต์แวร์โครงการCOIN-OR แต่ถ้าเป็นซอฟต์แวร์การวิจัยที่ไม่ใช่เชิงพาณิชย์หรือโอเพนซอร์สคุณต้องโน้มน้าวให้ผู้คนซื้อความพยายามและพวกเขาอาจไม่เชื่อใจบุคคลที่สามในการประเมินซอฟต์แวร์ของพวกเขาอย่างเป็นธรรม
ฉันยังรู้ว่าในการเพิ่มประสิทธิภาพมีฐานข้อมูลที่สามารถดาวน์โหลดปัญหา ( CUTEr
อยู่ในใจ) และหนังสือปัญหาการทดสอบเพื่อเพิ่มประสิทธิภาพ ฉันเคยเห็นผู้คน (ตัวอย่างเช่นฉันกำลังคิดถึงการพูดคุยของ Ruth Misener เป็นพิเศษที่ AIChE 2011) เปรียบเทียบการเพิ่มประสิทธิภาพของพวกเขากับนักแก้ปัญหาคนอื่น ๆ ในฐานข้อมูลของปัญหาในการนำเสนอ; ฉันไม่แน่ใจว่าสิ่งที่ได้รับการเผยแพร่สู่สาธารณะ ฉันรู้ว่ามีประเพณีในการเพิ่มประสิทธิภาพสำหรับการเปรียบเทียบในขนาดใหญ่ (นักแก้ปัญหาจำนวนมากปัญหามาก); ฉันไม่คิดว่าจะมีฐานข้อมูลออนไลน์
อีกสิ่งที่ฉันคิดว่าสำคัญคือเราแยกความแตกต่างระหว่างวิธีและการใช้งานซอฟต์แวร์. ในการคำนวณทางวิทยาศาสตร์เราทุกคนพูดถึงวิธีการใดที่เร็วกว่าหรือช้ากว่าโดยอิงจากสิ่งต่าง ๆ เช่นการวัดความซับซ้อนของการคำนวณหรือประสบการณ์ของเราที่มีปัญหาต่าง ๆ เมื่อพูดถึงการวัดเวลาในการคำนวณเชิงปริมาณอย่างไรก็ตามถ้าใครนับจำนวน FLOPs ในอัลกอริทึมเฉพาะเราจะต้องใช้อัลกอริทึมในซอฟต์แวร์และจากนั้นวัดประสิทธิภาพในบางวิธี (การใช้หน่วยความจำ .) มันสมเหตุสมผลที่จะประเมินประสิทธิภาพของวิธีการเมื่อดูที่ความซับซ้อนในการคำนวณหรือการนับ FLOP เพราะเราไม่จำเป็นต้องมีการนำไปใช้เพื่อวัดสิ่งต่าง ๆ แต่ช่วงเวลาที่เราสนใจเวลาของนาฬิกาแขวนผนังจริง ๆ มีประโยชน์ในฐานะอุปกรณ์ที่เป็นนามธรรมและเป็นภาษาพูดเท่านั้น (ตัวอย่างเช่น
ฉันนำความแตกต่างระหว่างวิธีการและซอฟต์แวร์มาใช้เพราะในฐานข้อมูลดังกล่าวฉันยังสามารถเห็นความเป็นไปได้ในการติดตามการปรับปรุงซอฟต์แวร์ตลอดเวลา ยกตัวอย่างเช่นมีอะไรบางอย่างเช่นพูด PETSc หรือ PyCLAW หรือซอฟต์แวร์ใด ๆ ที่กำลังถูกทดสอบมันน่าสนใจที่จะเห็นว่าปัญหาใดบ้างที่ส่งผลกระทบในเชิงบวก (หรือลบ!) โดยการอัพเกรดซอฟต์แวร์ สิ่งนี้อาจเป็นประโยชน์สำหรับนักวิจัยที่พยายามตัดสินใจว่ามันคุ้มค่าที่อาจเกิดขึ้นกับเงินและกำลังคนในการอัพเกรดรหัสของพวกเขาหรือไม่ อีกเหตุผลหนึ่งที่ทำให้ความแตกต่างสำคัญคือเพราะวิธีการที่ดีสามารถนำไปปฏิบัติได้ไม่ดี ฉันคิดว่าความเป็นไปได้นี้มีส่วนช่วยให้คนที่เงียบสงบบางครั้งมีการแบ่งปันรหัสการวิจัยของพวกเขา
ฉันคิดว่าสิ่งใดก็ตามที่เกิดขึ้นจากความคิดนี้ (และฉันหวังว่าจะมีบางอย่างเกิดขึ้นและยินดีที่จะให้ความช่วยเหลือหลังจากปริญญาเอกของฉัน) สิ่งสำคัญคือการเน้นความแตกต่างระหว่างซอฟต์แวร์และวิธีการต่างๆ กำลังจะโพสต์ผลลัพธ์สำหรับซอฟต์แวร์