คำถามติดแท็ก multiphysics

17
มีตัวแก้ปัญหาการเขียนโปรแกรมแบบไม่เชิงเส้นคุณภาพสูงสำหรับ Python หรือไม่?
ฉันมีปัญหาการเพิ่มประสิทธิภาพทั่วโลกที่ไม่ท้าทายเพื่อแก้ปัญหา ปัจจุบันผมใช้กล่องเครื่องมือเพิ่มประสิทธิภาพของ MATLAB (โดยเฉพาะfmincon()กับอัลกอริทึม = 'sqp') ซึ่งมีประสิทธิภาพมาก อย่างไรก็ตามรหัสของฉันส่วนใหญ่อยู่ใน Python และฉันก็ชอบที่จะเพิ่มประสิทธิภาพใน Python ด้วยเช่นกัน มีตัวแก้ NLP ที่มีการผูก Python ที่สามารถแข่งขันได้fmincon()หรือไม่ มันจะต้อง สามารถรับมือกับความไม่เสมอภาคและความไม่เท่าเทียมกันได้ ไม่ต้องการให้ผู้ใช้จัดหายาโคบ ไม่เป็นไรหากไม่รับประกันว่าจะมีประสิทธิภาพระดับโลก ( fmincon()ไม่) fmincon()ฉันกำลังมองหาบางสิ่งบางอย่างที่ทนทานลู่ไปยังท้องถิ่นที่เหมาะสมแม้สำหรับความท้าทายปัญหาและแม้ว่ามันจะช้ากว่าเล็กน้อย ฉันได้พยายามแก้หลายที่ให้บริการผ่าน OpenOpt และพบว่าพวกเขาจะด้อยกว่าของ fmincon/sqpMATLAB เพียงเพื่อเน้นฉันมีสูตรเวิ้งว้างและแก้ปัญหาที่ดี เป้าหมายของฉันคือการเปลี่ยนภาษาเพื่อให้เวิร์กโฟลว์มีความคล่องตัวมากขึ้น เจฟฟ์ชี้ให้เห็นว่าคุณลักษณะบางอย่างของปัญหาอาจเกี่ยวข้องกัน พวกเขาคือ: 10-400 ตัวแปรการตัดสินใจ 4-100 ข้อ จำกัด ความเท่าเทียมกันของพหุนาม (ดีกรีพหุนามมีช่วงตั้งแต่ 1 ถึงประมาณ 8) จำนวนข้อ จำกัด ของความไม่เท่าเทียมกันที่มีเหตุผลเท่ากับจำนวนตัวแปรการตัดสินใจประมาณสองเท่า ฟังก์ชั่นวัตถุประสงค์เป็นหนึ่งในตัวแปรการตัดสินใจ ชาวจาโคเบียนแห่งข้อ จำกัด ความเท่าเทียมมีความหนาแน่นสูงเช่นเดียวกับชาวจาโคเบียนแห่งข้อ จำกัด …

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

5
มีวิธีการแยกตัวดำเนินการสำหรับ PDE หลายตัวที่ทำให้เกิดการรวมลำดับสูงหรือไม่?
ได้รับวิวัฒนาการของ PDE ut=Au+Buut=Au+Buu_t = Au + Bu เมื่อเป็นตัวดำเนินการส่วนต่าง (อาจเป็นแบบไม่เชิงเส้น) ที่ไม่ต้องเดินทางวิธีการเชิงตัวเลขทั่วไปคือการสลับระหว่างการแก้A,BA,BA,B ut=Auut=Auu_t = Au และ ut=Bu.ut=Bu.u_t = Bu. การดำเนินการที่ง่ายที่สุดของเรื่องนี้เป็นที่รู้จักกันในชื่อ Godunov และมีความแม่นยำอันดับหนึ่ง วิธีที่รู้จักกันดีอีกวิธีหนึ่งคือ Strang splitting นั้นมีความแม่นยำอันดับสอง มีวิธีแยกตัวดำเนินการลำดับที่สูงขึ้น (หรือวิธีการแยกย่อยหลายวิธีแบบอื่น) อยู่หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.