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

แท็กนี้มีไว้สำหรับคำถามเกี่ยวกับวิธีการลด (จำกัด หรือไม่ จำกัด ) การย่อขนาดหรือขยายใหญ่สุดของฟังก์ชัน

3
Fortran: วิธีที่ดีที่สุดในการตั้งเวลาส่วนรหัสของคุณ?
บางครั้งในขณะที่การปรับรหัสให้เหมาะสมต้องใช้เวลาบางส่วนของรหัสฉันใช้สิ่งต่อไปนี้มาหลายปีแล้ว แต่สงสัยว่ามีวิธีที่ง่ายกว่าหรือดีกว่าในการทำ? call system_clock(count_rate=clock_rate) !Find the time rate call system_clock(count=clock_start) !Start Timer call do_something_subroutine !This is what gets timed call system_clock(count=clock_stop) ! Stop Timer e_time = real(clock_stop-clock_start)/real(clock_rate)

5
ลดผลรวมของส่วนเบี่ยงเบนสัมบูรณ์ ( ระยะทาง
ฉันมีชุดข้อมูลx1,x2,…,xkx1,x2,…,xkx_{1}, x_{2}, \ldots, x_{k}และต้องการค้นหาพารามิเตอร์mmmเพื่อลดผลรวม∑i=1k∣∣m−xi∣∣.∑i=1k|m−xi|.\sum_{i=1}^{k}\big|m-x_i\big|. นั่นคือ minm∑i=1k∣∣m−xi∣∣.minm∑i=1k|m−xi|.\min_{m}\sum_{i=1}^{k}\big|m-x_i\big|.

1
อัลกอริทึม Remez
อัลกอริทึม Remez เป็นกิจวัตรซ้ำที่รู้จักกันดีเพื่อประมาณฟังก์ชั่นโดยพหุนามในบรรทัดฐาน minimax แต่อย่างที่ Nick Trefethen [1] พูดถึง: ส่วนใหญ่ของ [การใช้งาน] ย้อนกลับไปหลายปีและในความเป็นจริงส่วนใหญ่ของพวกเขาไม่ได้แก้ปัญหาการประมาณทั่วไปที่ดีที่สุดตามที่ได้กล่าวไว้ข้างต้น แต่ตัวแปรที่เกี่ยวข้องกับตัวแปรแยกหรือการกรองดิจิทัล เราสามารถค้นหาโปรแกรมคอมพิวเตอร์อื่น ๆ ได้ไม่กี่โปรแกรม แต่โดยรวมแล้วดูเหมือนว่าไม่มีโปรแกรมที่ใช้กันอย่างแพร่หลายในปัจจุบันสำหรับการคำนวณที่ดีที่สุด เราสามารถคำนวณวิธีการแก้ปัญหาแบบ minimax ได้เช่นกันโดยใช้การเพิ่มประสิทธิภาพกำลังสองน้อยที่สุดหรือการเพิ่มประสิทธิภาพนูนเช่นการใช้ Matlab และกล่องเครื่องมือ CVX ฟรีที่ใช้กับฟังก์ชัน Runge ใน [-1, 1]: m = 101; n = 11; % 101 points, polynomial of degree 10 xi = linspace(-1, 1, m); % equidistant points in …

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

2
ความสับสนเกี่ยวกับกฎของ Armijo
ฉันมีความสับสนเกี่ยวกับกฎ Armijo ที่ใช้ในการค้นหาบรรทัด ฉันอ่านการติดตามการค้นหาย้อนหลัง แต่ไม่เข้าใจว่ากฎ Armijo นี้เกี่ยวกับอะไร ทุกคนสามารถอธิบายได้ว่ากฎของ Armijo คืออะไร? วิกิพีเดียดูเหมือนจะอธิบายไม่ดี ขอบคุณ

3
ความสับสนเกี่ยวกับปัญหาการตรวจจับแบบบีบอัด
ผมอ่านอ้างอิงบางรวมทั้งนี้ ฉันสับสนว่าการเพิ่มประสิทธิภาพการตรวจจับปัญหาการบีบอัดสร้างและพยายามที่จะแก้ปัญหา ใช่ไหม minimizesubject to∥x∥1Ax=bminimize‖x‖1subject toAx=b\begin{array}{ll} \text{minimize} & \|x\|_1\\ \text{subject to} & Ax=b\end{array} และ / หรือ minimizesubject to∥x∥0Ax=bminimize‖x‖0subject toAx=b\begin{array}{ll} \text{minimize} & \|x\|_0\\ \text{subject to} & Ax=b\end{array} หรือ / และอย่างอื่น?

1
ดันเป็นตัวคูณลากรองจ์
ในสมการเนเวียร์ - สโตกส์ที่ไม่สามารถบีบอัดได้ แรงกดดันมักเรียกกันว่าตัวคูณลากรองจ์บังคับให้ เงื่อนไขการบีบอัดρ(ut+(u⋅∇)u)∇⋅u=−∇p+μΔu+f=0ρ(ut+(u⋅∇)u)=−∇p+μΔu+f∇⋅u=0\begin{align*} \rho\left(\mathbf{u}_t + (\mathbf{u} \cdot \nabla)\mathbf{u}\right) &= - \nabla p + \mu\Delta\mathbf{u} + \mathbf{f}\\ \nabla\cdot\mathbf{u} &= 0 \end{align*} นี่เป็นความจริงในแง่ใด มีสูตรของสมการเนเวียร์ - สโตกที่ไม่สามารถบีบอัดได้ซึ่งเป็นปัญหาการหาค่าเหมาะที่สุดภายใต้ข้อ จำกัด ของ ถ้าเป็นเช่นนั้นมีตัวเลขแบบอะนาล็อกที่สมการการไหลของของไหลที่อัดไม่ได้ถูกแก้ไขภายในกรอบการหาค่าเหมาะที่สุดหรือไม่?

2
กลยุทธ์สำหรับวิธีการของนิวตันเมื่อจาโคเบียนที่ทางออกเป็นเอกพจน์
ฉันพยายามแก้ระบบสมการต่อไปนี้สำหรับตัวแปรและ (ทั้งหมดเป็นค่าคงที่):P,x1P,x1P,x_1x2x2x_2 A(1−P)2−k1x1=0AP2−k2x2=0(1−P)(r1+x1)4L1−P(r1+x2)4L2=0A(1−P)2−k1x1=0AP2−k2x2=0(1−P)(r1+x1)4L1−P(r1+x2)4L2=0\frac{A(1-P)}{2}-k_1x_1=0 \\ \frac{AP}{2}-k_2x_2=0 \\ \frac{(1-P)(r_1+x_1)^4}{L_1}-\frac{P(r_1+x_2)^4}{L_2}=0 ฉันสามารถเห็นว่าฉันสามารถเปลี่ยนระบบสมการนี้เป็นสมการเดียวของตัวแปรเดียวโดยการแก้สมการ 1 และ 2 สำหรับและตามลำดับและแทนพวกเขาเป็นสมการ 3 ในการทำเช่นนั้นฉันสามารถใช้ matlab's คำสั่งเพื่อค้นหาวิธีแก้ไข โดยใช้พารามิเตอร์ ,และผมพบว่าวิธีการแก้ปัญหาที่แท้จริงจะเป็นP(P)(P)(P)x1x1x_1x2x2x_2fzerok1=k2=1k1=k2=1k_1=k_2=1r1=r2=0.2r1=r2=0.2r_1=r_2=0.2A=2A=2A=2P=x1=x2=0.5P=x1=x2=0.5P=x_1=x_2=0.5 อย่างไรก็ตามเมื่อฉันใช้วิธีของนิวตันนำไปใช้กับระบบสมการ 3 แบบเดิม - 3 สมการการวนซ้ำไม่เคยมาบรรจบกันกับการแก้ปัญหาไม่ว่าฉันจะเริ่มใกล้ทางออกจริงมากแค่ไหน*) x∗=(P∗,x∗1,x∗2)=(0.5,0.5,0.5)x∗=(P∗,x1∗,x2∗)=(0.5,0.5,0.5)x^*=(P^*,x_1^*,x_2^*)=(0.5,0.5,0.5) ตอนแรกฉันสงสัยว่าบั๊กของฉันในการใช้วิธีการของนิวตัน หลังจากตรวจสอบหลายครั้งฉันไม่พบข้อผิดพลาด จากนั้นฉันลองใช้การคาดเดาเริ่มต้นและเห็น: Jacobian เป็นเอกพจน์ ฉันรู้ว่าจาโคเบียนที่เป็นเอกเทศสามารถลดลำดับการรวมตัว แต่ฉันไม่คิดว่ามันจะช่วยป้องกันการลู่เข้าสู่ทางออกที่แท้จริงได้ x0=x∗x0=x∗x_0=x^* ดังนั้นคำถามของฉันคือว่าจาโคเบียนของระบบที่ทางออกที่แท้จริงคือเอกพจน์: มีเงื่อนไขอื่นใดอีกบ้างที่จำเป็นในการพิสูจน์ว่าวิธีการของนิวตันจะไม่มาบรรจบกับราก? กลยุทธ์โลกาภิวัตน์ (เช่นการค้นหาบรรทัด) รับประกันการบรรจบกันแม้ว่าจาโคเบียนจะเป็นเอกเทศหรือไม่

1
ทำความเข้าใจกับเงื่อนไข Wolfe สำหรับการค้นหาสายที่ไม่แน่นอน
ตาม Nocedal ไรท์ &amp; หนังสือเชิงตัวเลขการเพิ่มประสิทธิภาพ (2006) เงื่อนไขของวูล์ฟสำหรับการค้นหาสายไม่แน่นอนจะหาทิศทางเชื้อสาย ,ppp ลดลงอย่างเพียงพอ: โค้งสภาพ: ∇ f ( x + α p ) T p ≥ c 2 ∇ f ( x ) T p สำหรับ0 &lt; c 1 &lt; c 2 &lt; 1f(x+αp)≤f(x)+c1αk∇f(x)Tpf(x+αp)≤f(x)+c1αk∇f(x)Tpf(x+\alpha p)\le f(x)+c_1\alpha_k\nabla f(x)^T p∇f(x+αp)Tp≥c2∇f(x)Tp∇f(x+αp)Tp≥c2∇f(x)Tp\nabla f(x+\alpha p)^Tp\ge c_2 \nabla f(x)^T p0&lt;c1&lt;c2&lt;10&lt;c1&lt;c2&lt;10<c_1<c_2<1 ฉันสามารถดูวิธีการที่เพียงพอสภาพการลดลงของรัฐว่าค่าฟังก์ชั่นที่จุดใหม่ต้องอยู่ภายใต้สัมผัสที่x …

2
ค่าสัมบูรณ์ในข้อ จำกัด เชิงเส้น
ฉันมีปัญหาการปรับให้เหมาะสมต่อไปนี้ซึ่งฉันมีค่าสัมบูรณ์ในข้อ จำกัด ของฉัน: x∈Rnx∈Rn\mathbf{x} \in \mathbb{R}^nf0,f1,…,fmf0,f1,…,fm\mathbf{f}_0, \mathbf{f}_1, \ldots, \mathbf{f}_mnnnmins.t.fT0x|fT1x|≤|fT2x|≤…≤|fTmx|minf0Txs.t.|f1Tx|≤|f2Tx|≤…≤|fmTx|\begin{align} \min &\mathbf{f}_0^T \mathbf{x} \notag \\ \text{s.t.} &|\mathbf{f}_1^T \mathbf{x}| \leq |\mathbf{f}_2^T \mathbf{x}| \leq \ldots \leq |\mathbf{f}_m^T \mathbf{x}| \end{align} ฉันรู้ว่าพื้นที่ที่เป็นไปได้จะไม่นูนและฉันอาจต้องใช้ MILP ในการแก้ปัญหา ฉันกำลังมองหาตัวแปรไบนารีจำนวนน้อยที่สุดที่ฉันต้องการและการตั้งค่าที่จะแก้ปัญหา การจัดการกับค่าสัมบูรณ์เป็นเรื่องง่ายเมื่อด้านใดด้านหนึ่งของความไม่เท่าเทียมมีค่าสัมบูรณ์ (http://lpsolve.sourceforge.net/5.1/absolute.htm); กรณีนี้ดูเหมือนว่าจะซับซ้อนกว่า ขอบคุณล่วงหน้า.

2
การแก้ปัญหากำลังสองน้อยที่สุดด้วยข้อ จำกัด เชิงเส้นใน Python
ฉันต้องการแก้ไข s.t.minx∥Ax−b∥22,∑ixi=1,xi≥0,∀i.minx‖Ax−b‖22,s.t.∑ixi=1,xi≥0,∀i.\begin{alignat}{1} & \min_{x}\|Ax - b\|^2_{2}, \\ \mathrm{s.t.} & \quad\sum_{i}x_{i} = 1, \\ & \quad x_{i} \geq 0, \quad \forall{i}. \end{alignat} ฉันคิดว่ามันเป็นปัญหากำลังสองซึ่งควรแก้ไขด้วยCVXOPTแต่ฉันไม่สามารถหาวิธีได้

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

2
วิธีการของนิวตันในการหาค่าเหมาะที่สุดเทียบกับการแก้ระบบสมการไม่เชิงเส้น
ฉันขอคำชี้แจงเกี่ยวกับคำถามล่าสุดเกี่ยวกับ minpackและได้รับความคิดเห็นต่อไปนี้: ระบบสมการใด ๆ นั้นเทียบเท่ากับปัญหาการหาค่าเหมาะที่สุดซึ่งเป็นสาเหตุที่วิธีการของนิวตันที่ใช้ในการหาค่าเหมาะที่สุดมีลักษณะคล้ายกับวิธีที่นิวตันใช้สำหรับการแก้ระบบสมการไม่เชิงเส้น สิ่งที่สร้างความสับสนให้ฉันเกี่ยวกับความคิดเห็นนี้ (และที่เกี่ยวข้องกับความคิดเห็นในเชิงลบเกี่ยวกับเฉพาะการไม่เชิงเส้นสี่เหลี่ยมน้อยแก้เช่น minpack) อาจจะดีที่สุดในการอธิบายตัวอย่างของวิธีการผันลาด วิธีนี้เป็นวิธีที่ใช้บังคับกับระบบx = Bมีสมมาตรบวกแน่นอนเมทริกซ์ นอกจากนี้ยังสามารถนำมาใช้ในการแก้ปัญหาทั่วไปอย่างน้อยตารางนาทีx | | A x - b | | 2สำหรับเมทริกซ์AโดยพลการAx=bAx=bAx=bAAAminx||Ax−b||2minx⁡||Ax−b||2\operatorname{min}_x||Ax-b||^2AAAแต่ไม่แนะนำให้ทำเช่นนั้น คำอธิบายอย่างหนึ่งที่ทำไมเราไม่ควรทำเช่นนี้คือจำนวนเงื่อนไขของระบบจะเพิ่มขึ้นอย่างมีนัยสำคัญ แต่ถ้าการเปลี่ยนระบบสมการให้เป็นปัญหาการหาค่าเหมาะที่สุดนั้นถือเป็นปัญหาแม้ในกรณีเชิงเส้นเหตุใดจึงเป็นปัญหาน้อยกว่าสำหรับกรณีทั่วไป ดูเหมือนว่าจะมีความเกี่ยวข้องกับการใช้อัลกอริธึมการหาค่าเหมาะที่สุดแทนการใช้ตัวแก้สแควร์สแบบไม่เชิงเส้นที่มีอายุน้อยกว่าเล็กน้อย แต่ปัญหาที่เกี่ยวข้องกับการทิ้งข้อมูลและการเพิ่มจำนวนเงื่อนไขของระบบค่อนข้างเป็นอิสระจากอัลกอริทึมการเพิ่มประสิทธิภาพที่ใช้จริงหรือไม่

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

5
การเพิ่มวัตถุประสงค์ระดับโลกให้มีค่าใช้จ่ายสูง
ฉันสนใจที่จะเพิ่มฟังก์ชั่นของพารามิเตอร์จริงจำนวนมาก ( ) ทั่วโลก(ผลจากการจำลองที่ซับซ้อน) อย่างไรก็ตามฟังก์ชันที่เป็นปัญหานั้นค่อนข้างแพงในการประเมินซึ่งต้องใช้เวลาประมาณ 2 วันสำหรับชุดพารามิเตอร์แต่ละชุด ฉันกำลังเปรียบเทียบตัวเลือกต่าง ๆ และสงสัยว่าใครมีคำแนะนำบ้าง≈ 30≈30\approx 30 ฉันรู้ว่ามีชุดวิธีการสำหรับกระบวนการประเภทนี้ที่เกี่ยวข้องกับการพัฒนาฟังก์ชั่นโดยประมาณและจากนั้นก็เพิ่มประสิทธิภาพให้สูงสุด (เช่นJones et al. "การเพิ่มประสิทธิภาพระดับโลกอย่างมีประสิทธิภาพของฟังก์ชั่นกล่องดำแพง" ) อย่างไรก็ตามดูเหมือนว่าจะเกี่ยวข้องกับรหัส ฉันมีความสามารถในการเรียกใช้การจำลองเป็นจำนวนมากแบบขนาน (50+) สิ่งนี้ดูเหมือนจะแนะนำให้ใช้บางอย่างเช่นอัลกอริธึมทางพันธุกรรมในการเพิ่มประสิทธิภาพนี้ - เนื่องจากฉันสามารถสร้างประชากรของคำตอบผู้สมัครได้อย่างรวดเร็วที่สุดเท่าที่จะทำได้ นี่คือคำถามของฉัน: 1) ไม่มีใครมีประสบการณ์กับการใช้งานที่เป็นอิสระของตัวแก้ / คำแนะนำทั่วโลกประเภทนี้หรือไม่? 2) มีเหตุผลที่จะชอบหรือหลีกเลี่ยงอัลกอริทึมทางพันธุกรรมที่นี่หรือไม่? นี่เป็นปัญหาทางกายภาพและการทดลองในช่วงต้นของฉันได้แสดงให้เห็นว่าการทำบุญนั้นค่อนข้างราบรื่นเมื่อฉันเปลี่ยนพารามิเตอร์ UPDATE: ขอขอบคุณสำหรับความช่วยเหลือ! รายละเอียดเพิ่มเติมเล็กน้อย: ฉันไม่ต้องการข้อมูลใด ๆ นอกเหนือจากตำแหน่งสูงสุด การจำลองเป็นการกำหนดขึ้นไม่ใช่ Monte Carlo ดังนั้นความซับซ้อนนั้นไม่ใช่เรื่องใหญ่ ไม่มีขอบเขตหรือข้อ จำกัด ที่ชัดเจนเกี่ยวกับพารามิเตอร์ ข้อมูลอีกชิ้นหนึ่งที่ฉันมี (และไม่ได้พูดถึงมาก่อน) คือความรู้สึกถึงขนาดของขนาดสูงสุดที่ต้องการ ในขณะที่ฉันกำลังมองหาระดับสูงสุดของโลกฉันก็จะมีความสุขกับสิ่งใดในระดับนี้หรือใหญ่กว่า - …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.