คำถามติดแท็ก linear-programming

วิธีการทางคณิตศาสตร์และการคำนวณเพื่อค้นหาผลลัพธ์ที่ดีที่สุดในแบบจำลองทางคณิตศาสตร์ที่กำหนดซึ่งรายการความต้องการจะแสดงเป็นความสัมพันธ์เชิงเส้น

1
เสถียรภาพเชิงตัวเลขของวิธีการ Simplex
อัลกอริธึมเริมมักได้รับการปฏิบัติอย่างใดอย่างหนึ่งภายในคณิตศาสตร์จริงหรือในโลกที่แยกจากกันด้วยการคำนวณที่แน่นอน อย่างไรก็ตามดูเหมือนว่าจะมีการใช้งานบ่อยที่สุดกับเลขคณิตจุดลอย สิ่งนี้นำไปสู่คำถามที่ว่าอัลกอริธึมเริมควรได้รับการยกย่องว่าเป็นอัลกอริธึมเชิงตัวเลขโดยเฉพาะอย่างยิ่งว่าข้อผิดพลาดปัดเศษส่งผลกระทบต่อการคำนวณอย่างไร ฉันไม่ได้สนใจในการใช้งานจริง แต่เป็นพื้นฐานทางทฤษฎี คุณตระหนักถึงการวิจัยเกี่ยวกับปัญหานี้หรือไม่?

2
การเขียนโปรแกรมจำนวนเต็มพร้อมตัวแปรจำนวนคงที่
กระดาษที่มีชื่อเสียงในปี 1983 โดยการเขียนโปรแกรม H. Lenstra Integer ด้วยจำนวนตัวแปรคงที่ระบุว่าโปรแกรมจำนวนเต็มที่มีจำนวนตัวแปรคงที่สามารถแก้ไขได้ในเวลาพหุนามตามความยาวของข้อมูล ฉันตีความว่าดังนี้ การเขียนโปรแกรมจำนวนเต็มโดยทั่วไปยังคงเป็นปัญหาที่สมบูรณ์ แต่ถ้าขนาดปัญหาโดยทั่วไปของฉันอยู่ในมือ (พูดเกี่ยวกับตัวแปร 10,000 ข้อ จำกัด จำนวนโดยพลการ) เป็นไปได้ในทางปฏิบัติแล้วฉันสามารถสร้างอัลกอริทึม จำนวนของตัวแปรและข้อ จำกัด ผลลัพธ์ยังสามารถใช้กับการเขียนโปรแกรมแบบไบนารีเนื่องจากฉันสามารถบังคับจำนวนเต็มใด ๆ ให้ 0-1 โดยการเพิ่มข้อ จำกัด ที่เหมาะสม การตีความของฉันถูกต้องหรือไม่ ผลลัพธ์นี้มีความหมายในทางปฏิบัติหรือไม่? นั่นคือมีการใช้งานหรือใช้ในนักแก้ปัญหายอดนิยมเช่น CPLEX, Gurobi หรือ Mosek หรือไม่? บางคำพูดจากกระดาษ: ความยาวนี้อาจถูกกำหนดให้เป็น n · m · log (a + 2) ซึ่ง a หมายถึงความยาวสูงสุดของค่าสัมบูรณ์ของสัมประสิทธิ์ A และ b แท้จริงแล้วไม่มีอัลกอริทึมพหุนามดังกล่าวอยู่เนื่องจากปัญหาที่เกิดขึ้นคือปัญหา …

2
คำตอบสูงสุดของ LPs ขั้นต่ำ
แน่นอนว่าการเขียนโปรแกรมเชิงเส้นเป็นที่เข้าใจกันในปัจจุบัน เรามีงานจำนวนมากที่แสดงถึงโครงสร้างของโซลูชันที่เป็นไปได้และโครงสร้างของโซลูชันที่ดีที่สุด เรามีความเป็นคู่ที่แข็งแกร่งอัลกอริทึมโพลีเวลา ฯลฯ แต่สิ่งที่เป็นที่รู้จักเกี่ยวกับการแก้ปัญหาสูงสุดขั้นต่ำของ LPs? หรือเท่ากับวิธีแก้ปัญหาขั้นต่ำขั้นสูงสุด (นี่ไม่ใช่คำถามการวิจัยจริง ๆ แต่บางทีเราอาจมีบางอย่างทางเทคนิคน้อยกว่าสำหรับวันหยุดฉันแค่อยากรู้อยากเห็นและหลังจาก googling บางฉันได้รับความรู้สึกว่าฉันจะต้องหายไปคำหลักที่เหมาะสมมันรู้สึกเหมือนชัดเจน ปัญหาในการศึกษา แต่ฉันพบเอกสารประปรายบางเรื่องที่กล่าวถึงปัญหา) เพื่อให้ง่ายให้มุ่งเน้นในการบรรจุและการครอบคลุมซีรี่ส์ ในLP บรรจุเราจะได้รับไม่ใช่เชิงลบเมทริกซ์ เวกเตอร์xเป็นไปได้ถ้าx ≥ 0และx ≤ 1 เราบอกว่าxเป็นค่าสูงสุดถ้าเป็นไปได้และเราไม่สามารถเพิ่มองค์ประกอบใด ๆ ได้อย่างโลภ นั่นคือถ้าy ≥ 0และy ≠ 0ดังนั้นx + yจะไม่สามารถทำได้ และในที่สุดxคือ aAAAxxxx≥0x≥0x \ge 0Ax≤1Ax≤1Ax \le 1xxxy≥0y≥0y \ge 0y≠0y≠0y \ne 0x+yx+yx + yxxxการแก้ปัญหาสูงสุดขั้นต่ำถ้ามันลดฟังก์ชั่นวัตถุประสงค์ในบรรดาการแก้ปัญหาสูงสุดทั้งหมด∑ixi∑ixi\sum_i x_i (คุณสามารถกำหนดวิธีแก้ปัญหาที่น้อยที่สุดสูงสุดของLP ที่ครอบคลุมในลักษณะที่คล้ายคลึงกัน) พื้นที่ของโซลูชันสูงสุดขั้นต่ำมีลักษณะอย่างไร เราจะหาวิธีแก้ไขได้อย่างไร? มันยากแค่ไหนที่จะหาวิธีแก้ปัญหาเช่นนี้? …

1
การหาระนาบการตัดที่แยกรูปทรงหลายเหลี่ยมอย่างเท่าเทียมกัน
สมมติว่าเรามีรูปทรงหลายเหลี่ยมในรูปแบบมาตรฐาน: A x = bx ≥ 0Ax=bx≥0\begin{equation*} \begin{array}{rl} \mathbf{A}\mathbf{x} = \mathbf{b} \\\\ \mathbf{x} \ge 0 \end{array} \end{equation*} มีวิธีการใด ๆ ที่รู้จักกันในการหาไฮเปอร์เพลนที่แยกโพลีเฮดตรอนในลักษณะที่จำนวนจุดยอดในแต่ละด้านของไฮเปอร์เพลนนั้นเท่ากันหรือไม่? (นั่นคืออัลกอริธึมที่ลดความแตกต่างที่แน่นอนของจุดสุดยอดด้านที่สองด้านของการแยก)d x + d0= 0dx+d0=0\mathbf{d} \mathbf{x} +d_0= 0 นอกจากนี้ยังมีผลลัพธ์ใด ๆ ที่ทราบเกี่ยวกับความซับซ้อนของปัญหานี้หรือไม่ ภาคผนวก: การ จำกัด ประเภทของการตัด: นี่คือการเปลี่ยนแปลงของปัญหาดั้งเดิมด้วยความหวังว่ามันจะง่ายต่อการแก้ปัญหากว่าเดิม: มีวิธีการได้อย่างมีประสิทธิภาพหรือคำนวณประมาณการที่ประสานงานไฮเปอร์เพลนของรูปแบบd ฉันx ฉัน + d 0 = 0จะให้ผลผลิตแตกต่างแน่นอนต่ำสุดของ cardinalities จุดสุดยอดทั้งสองด้านของการแยกหรือไม่ โดยการที่มีประสิทธิภาพฉันหมายถึงสิ่งใดที่มีประสิทธิภาพมากกว่าการนับอย่างละเอียดของความเป็นหัวใจเชิงยอดสำหรับการแยกดังกล่าวที่เป็นไปได้ทั้งหมดผมiidผมxผม+ d0= 0dixi+d0=0d_ix_i + …

1
LP formulation สำหรับ if-conditions
ฉันมี LP ต่อไปนี้: / * ฟังก์ชันวัตถุประสงค์ * / ต่ำสุด: 1 w + 2 x + 0.5 y + z; / * ขอบเขตที่เปลี่ยนแปลงได้ * / w + x <= T1; w + y = U1; x + z = U2; T1 = 50; U1 = 70; U2 = 25; ในกรณีนี้ U1 …

1
ผ่อนคลายข้อ จำกัด
ฉันมีคำถามความเป็นไปได้ที่สามารถกำหนดกรอบดังนี้ ฉันได้รับจุดในปริภูมิเวกเตอร์d-มิติและฉันต้องการหาจุดq ที่ใกล้เคียงที่สุดกับpที่ตรงกับชุดของ " ℓ 0ข้อ จำกัด " ของแบบฟอร์มพีพีpdddQQqพีพีpℓ0ℓ0\ell_0 เมื่อได้รับชุดอย่างน้อยหนึ่งใน{ q j , j ∈ S }อาจไม่ใช่ศูนย์S∈ [ 1…d]S∈[1...d]S \in [1\ldots d]{ qJ, j ∈S}{QJ,J∈S}\{q_j, j \in S\} ความคิดของความใกล้ชิดแตกต่างกันไป แต่สำหรับตอนนี้มันเพียงพอที่จะถือว่าเป็นระยะทางที่สะดวกเช่น 2ℓ22ℓ22\ell_2^2 มีการผ่อนคลายใด ๆ ที่รู้จักกับข้อ จำกัด เชิงเส้นที่ "ดี" ในแง่ของการให้โพลีปโป "ใกล้พอ" เพื่อประมาณข้อ จำกัด ดั้งเดิมซึ่งฉันก็ค่อนข้างยืดหยุ่นในคำจำกัดความของ "ใกล้พอ"

1
เหตุใดความเกียจคร้านเสริมจึงสำคัญ?
Compackary Slackness (CS) เป็นวิธีการสอนโดยทั่วไปเมื่อพูดถึงความเป็นคู่ มันสร้างความสัมพันธ์ที่ดีระหว่างข้อ จำกัด แรกและตัวแปร / คู่จากมุมมองทางคณิตศาสตร์ เหตุผลหลักสองประการสำหรับการใช้ CS (ตามที่สอนในหลักสูตรระดับบัณฑิตศึกษาและตำราเรียน): เพื่อตรวจสอบ optimality ของ LP เพื่อช่วยแก้ปัญหาทั้งคู่ ด้วยพลังการคำนวณในปัจจุบันและอัลกอริธึมเชิงพหุนามสำหรับการแก้ไข LP นั้น CS ยังมีความเกี่ยวข้องกับมุมมองเชิงปฏิบัติหรือไม่? เราสามารถแก้คู่และหาจุดทั้งสองข้างต้นได้เสมอ ฉันยอมรับว่ามันมี "ประสิทธิภาพมากกว่า" ในการแก้ปัญหาคู่ด้วยความช่วยเหลือของ CS แต่มันคืออะไร? หรือว่า CS มีมากกว่าสายตา? ที่ว่าลูกค้าจะเป็นประโยชน์นอกเหนือจากข้างต้นสองจุด ? ฉันเคยเห็นข้อความที่พูดพาดพิงถึงแนวคิดของ CS เมื่อพูดถึงอัลกอริทึมการประมาณ แต่ฉันไม่เข้าใจบทบาทของมันที่นั่น

2
สิ่งที่สามารถแก้ไขได้ด้วยการเขียนโปรแกรม semidefinite ที่ไม่สามารถแก้ไขได้ด้วยการเขียนโปรแกรมเชิงเส้น?
ฉันคุ้นเคยกับโปรแกรมเชิงเส้นตรงที่พวกเขาสามารถแก้ปัญหาด้วยฟังก์ชันเชิงเส้นตรงและข้อ จำกัด เชิงเส้น แต่การเขียนโปรแกรมแบบกึ่งไม่มีขีด จำกัด สามารถแก้ปัญหาการเขียนโปรแกรมเชิงเส้นที่ไม่สามารถ? ฉันรู้แล้วว่าโปรแกรม semidefinite นั้นเป็นลักษณะทั่วไปของโปรแกรมเชิงเส้น นอกจากนี้วิธีการที่จะรับรู้ปัญหาที่สามารถแก้ไขได้โดยใช้การเขียนโปรแกรม semidefinite? ปัญหาทั่วไปที่การเขียนโปรแกรม semidefinite ไม่สามารถแก้ไขได้ด้วยการเขียนโปรแกรมเชิงเส้นคืออะไร ขอบคุณมากสำหรับการตอบสนองใด ๆ

2
ระบบเชิงเส้นเป็นอย่างไรจึงสำคัญต่อวิทยาศาสตร์คอมพิวเตอร์
ฉันเริ่มมีส่วนร่วมกับการเพิ่มประสิทธิภาพทางคณิตศาสตร์เมื่อไม่นานมานี้และฉันก็รักมัน ดูเหมือนว่าปัญหาการปรับให้เหมาะสมจำนวนมากสามารถแสดงและแก้ไขได้อย่างง่ายดายเช่นโปรแกรมเชิงเส้น (เช่นการไหลของเครือข่าย, ขอบ / จุดสุดยอด, พนักงานขายที่เดินทาง ฯลฯ ) ฉันรู้ว่าบางส่วนของพวกเขาเป็น NP-hard แต่ประเด็นที่พวกเขาสามารถ 'ใส่เฟรมเป็นโปรแกรมเชิงเส้น' หากไม่ได้รับการแก้ไขอย่างเหมาะสม ที่ทำให้ฉันคิดว่า: เราได้รับการสอนระบบของสมการเชิงเส้นพีชคณิตเชิงเส้นทั้งหมดตลอดโรงเรียน / วิทยาลัย และการได้เห็นพลังของ LPs สำหรับแสดงอัลกอริธึมต่าง ๆ มันช่างน่าหลงใหล คำถาม: แม้ว่าเราจะมีระบบที่ไม่ใช่เชิงเส้นที่แพร่หลายรอบตัวเราอย่างไร / ทำไมระบบเชิงเส้นจึงมีความสำคัญต่อวิทยาศาสตร์คอมพิวเตอร์ ฉันเข้าใจว่าพวกเขาช่วยลดความเข้าใจและทำให้ง่ายต่อการคำนวณส่วนใหญ่ แต่มันคืออะไร? การประมาณนี้ดีแค่ไหน? เราลดความซับซ้อนลงมากเกินไปและผลลัพธ์ยังคงมีความหมายในทางปฏิบัติหรือไม่? หรือมันเป็นเพียง 'ธรรมชาติ' นั่นคือปัญหาที่น่าสนใจที่สุดคือเส้นตรง? ปลอดภัยหรือไม่ที่ 'พีชคณิตเชิงเส้น / สมการ / การเขียนโปรแกรม' เป็นมุมของหินของ CS? ถ้าไม่เช่นนั้นความขัดแย้งที่ดีจะเป็นอย่างไร บ่อยแค่ไหนที่เราจัดการกับสิ่งที่ไม่ใช่เชิงเส้น (ฉันไม่ได้หมายถึงในทางทฤษฎี แต่ยังมาจากมุมมอง 'การแก้ไข' เช่นเพียงแค่บอกว่ามันไม่ตัดมันควรจะมีการประมาณปัญหาที่ดีและมันจะลงจอด เป็นเชิงเส้น?)

1
แก้ปัญหาระบบความไม่เท่าเทียมเชิงเส้นที่เข้มงวดอย่างมีประสิทธิภาพด้วยสัมประสิทธิ์ทั้งหมดเท่ากับ 1 โดยไม่ต้องใช้ตัวแก้ LP ทั่วไปหรือไม่?
นอกเหนือจากการใช้ตัวแก้จุดมุ่งหมายทั่วไปของ LP มีวิธีการแก้ปัญหาความไม่เท่าเทียมของตัวแปรโดยที่ความไม่เท่าเทียมกันมีรูปแบบ ? แล้วกรณีพิเศษของความไม่เท่าเทียมกันที่รวมกันเป็นผลรวมของจำนวนสมาชิกของชุดพลังของ ?xi,…,xkxi,…,xkx_i, \ldots, x_k∑i∈Ixi&lt;∑j∈Jxj∑i∈Ixi&lt;∑j∈Jxj\sum_{i \in I} x_i < \sum_{j \in J} x_j{xi,…,xk}{xi,…,xk}\{x_i, \ldots, x_k\}

2
วิธีแก้ปัญหาจุดกึ่งกลางของโปรแกรมเชิงเส้น
มีโปรแกรมเชิงเส้นที่ฉันต้องการไม่เพียง แต่วิธีการแก้ปัญหา แต่วิธีการแก้ปัญหาที่เป็นศูนย์กลางที่สุดเท่าที่เป็นไปได้บนใบหน้าของ polytope ที่ถือว่าค่าน้อยที่สุด ก่อนหน้าเราคาดหวังว่าใบหน้าที่ย่อเล็กสุดควรมีมิติสูงด้วยเหตุผลต่าง ๆ รวมถึงฟังก์ชันวัตถุประสงค์ที่ถูกย่อให้เล็กสุดคือข้อ จำกัด สูงสุด: ลด ϵϵ\epsilon ภายใต้ fi(x¯)≤ϵ&lt;0fi(x¯)≤ϵ&lt;0f_i(\bar x) \leq \epsilon < 0 กับ fifif_i เชิงเส้นและ xi&gt;0xi&gt;0x_i > 0 เพื่อทุกสิ่ง iii และ ∑ixi=1∑ixi=1\sum_i x_i = 1. เราไม่เคยได้รับคุณสมบัติที่เหมือนศูนย์กลางจากอัลกอริทึมแบบซิมเพล็กซ์แน่นอน อัลกอริธึมภายในจุดปกติมีคุณสมบัติดังกล่าวหรือไม่? มีอะไรรับประกันว่าพวกเขาจะหลีกเลี่ยงจุดยอดหรือใบหน้ามิติที่ต่ำกว่าเมื่อเป็นไปได้? ในความเป็นจริงฉันอาจจะพอใจกับโปรแกรมกำลังสองง่าย ๆ ที่พบจุดกึ่งกลางของ polytope ทั้งหมดเนื่องจากศูนย์กลางมีความสำคัญมากกว่าการย่อเพียงเล็กน้อยอยากรู้อยากเห็นเพียงเล็กน้อยถ้าอัลกอริทึมการเขียนโปรแกรมเชิงเส้นอื่นมีคุณสมบัติที่เกี่ยวข้อง อัปเดต: ฉันได้ลดปัญหาพื้นฐานเป็นปัญหาการย่อขนาดเล็ก ๆ แบบง่ายๆที่แก้ไขได้ด้วยตัวคูณแบบลากรองจ์ แต่คำถามข้างต้นยังคงน่าสนใจอยู่ดี

3
โซลูชันการเขียนโปรแกรมเชิงเส้นในหนึ่งผ่านด้วยตัวแปรสั่ง
ฉันมีครอบครัวที่มีปัญหาการเขียนโปรแกรมเชิงเส้น: เพิ่ม c′xc′xc' x ภายใต้ Ax≤bAx≤bA x\le b, x≥0x≥0x\ge0. องค์ประกอบของAAA, bbbและ ccc เป็นจำนวนเต็มไม่ใช่ค่าลบ cccบวกอย่างเคร่งครัด (xxx ควรเป็นส่วนประกอบ แต่ฉันจะกังวลในภายหลัง) มันมักจะเกิดขึ้นในใบสมัครของฉันว่าค่าสัมประสิทธิ์ AAA และ ccc เป็นวิธีที่อัลกอริธึมแบบ one-pass ที่เรียบง่ายทำให้เป็นทางออกที่ดีที่สุดสำหรับทุกทางเลือก bbb: อัลกอริทึม One-Pass กำหนดองค์ประกอบ x1,…,xnx1,…,xnx_1,\dots,x_n ในลำดับเลือกแต่ละ xjxjx_j เป็นค่าที่ใหญ่ที่สุดที่เป็นไปได้ซึ่งสอดคล้องกับค่าที่กำหนดไว้แล้ว x1,…,xj−1x1,…,xj−1x_1,\dots,x_{j-1}. ในภาษา simplex ลำดับของการป้อนตัวแปรเป็นเพียงx1x1x_1 ถึง xnxnx_nและจะยุติลงหลังจาก nnnขั้นตอน ซึ่งช่วยประหยัดเวลาได้มากเมื่อเทียบกับ full-on simplex อัลกอริทึมนี้ใช้งานได้เมื่อคอลัมน์ของ AAA และองค์ประกอบของ cccถูกจัดเรียงจาก "ถูก" เป็น "แพง" ตัวแปร …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.