Efficient Branch and Bound Algorithm for the Dynamic Layout Problem

Total Page:16

File Type:pdf, Size:1020Kb

Efficient Branch and Bound Algorithm for the Dynamic Layout Problem Efficient Branch and Bound Algorithm for The Dynamic Layout Problem A thesis presented to The Faculty of the Fritz J. and Dolores H. Russ College of Engineering and Technology Ohio University In Partial Fulfillment of the Requirement for the Degree Master of Science Anish Jariwala November, 1995 ACKNOWLEDGMENTS I am indebted to my thesis advisor, Dr. Thomas A. Lacksonen for providing constant support, advice and encouragement throughout this work. I have really enjoyed the pleasant association that I have had with him over the last couple of years. I would also like to thank my thesis committee members Dr. Robert Williams and Dr. Brian Manhire for their critical review of my work. My parents and sister have my greatest love and admiration and I deeply appreciate the sacrifices they have made on my behalf. Simply saying thanks is not enough. Finally, I would like to thank my friends who have made studying at Ohio university an enjoyable experience. Table of Contents Acknowledgments Table of Contents List of Tables List of Figures Chapter 1. Introductions 2. Literature Review 2.1 Purpose of Literature Review 2.2 Classification of Facility Layout Problems 2.3 Discrete Representation of Area 2.4 Continuous Representation of Area 2.5 Overview and Comparisons 3. Problem Statement 3.1 Mixed Integer Linear Program Model 3.2 Non-overlapping Constraints 3.3 Research Goals 4. Approach and Preliminary Testing 4.1 Introductions 4.2 Branch and Bound Algorithm 4.2.1 Stopping Criteria for Optimization 4.2.2 Using a Threshold 4.3 Preliminary test Problems 4.4 Built-in Cplex Preprocessing Rules 4.5 Node Selection Strategy 4.6 Initial Solution 4.6.1 Setting Branching Direction 4.6.2 Comparison of Different Initial Solution Algorithms 4.7 Variable Selection Strategy 4.8 Setting Priority Orders 4.9 Branching Direction Strategy 4.10 Conclusion 5. Results 5.1 Experimental Design 5.2 Small Problems 5.3 Large Problems 5.4 Selection of Best Approach 5.5 Comparison 5.6 Summary 6. Conclusions and Recommendations 6.1 Conclusions 6.2 Future Recomrnendati.ons References Appendices Abstract List of Tables Tables 4.1 Preliminary Test Problems 4.2 Initial Solution Test Problems 4.3 Comparison between two starting solutions 5.1 Small problems 5.2 Large problems 5.3 ANOVA for small problems 5.4 ANOVA for large problems 5.5 Comparison of number of nodes for small problems 5.6 Comparison of cost for large problems 5.7 Comparison of nodes for large problems List of Figures Figure Page 3.1 Coordinates of department 3.2 Separation in the x-direction 3.3 Separation in the y-direction 5.1 Design of Experiment Matrix: 5.2 Effect of threshold setting on nodes for small problems 5.3 Effect of threshold setting on cost for small problems 5.4 Effect of priority setting on nodes for small problems at 0.00 threshold 5.5 Effect of threshold setting on. cost for large problems 5.6 Effect of branching direction on cost at 0.80 threshold for large problems 5.7 New MIP-Mixed Integer Programming Algorithm for DLP 5.8a Block diagram for datal23a-time period 1 5.8b Block diagram for datal23a-time period 2 5.8~Block diagram for datal23a-time period 3 Chapter 1 Introduction A company should strive to reduce indirect costs. Material handling constitutes a major part of indirect costs in a facility. ranging from 10% to 80% of the indirect cost of facility (Tompkins and White, 1984). Therefore even small improvements in material handling costs makes a large reduction in total indirect costs. The cost of material flow is a function of the distance the material is moved between divisions called departments in a manufacturing facility. To reduce material handling costs, it is essential to have an optimal arrangement of departments to minimize the total distance traveled. According to a survey done by 1rJicole & Hollier (1983), the average life of any layout is 2.6 years. Hence, it is necessary to consider the dynamic nature of facility layout. Other factors such as new technology, new product lines and a market-based dynamic environment also force one to think about dynamic facility layout. Material handling costs are no longer constant over the planning horizon, creating the need for radical layout changes. The Dynamic lalyout problem (DLP) finds not only the present layout but a series of layouts for the future by taking into account total flow costs and rearrangement costs. 1.1 Facility Layout The problem of facility layout is to decide the proper positions of a collection of 2 departments to minimize total flow cost. It is a specific application of the assignment problem. Facility layouts also include architectural space planning, manufacturing cell layout and VLSI design, etc. Tlie type of facilities varies in each case but the problem formulation remains the same. Hillier and Lieberman (1990) refer to the assignment problem as resources being allocated to activities on a one-to-one basis. Only one department is allocated to one and only one location and vice-versa. The main objective of the facility layout problem is to minimize overall cost, which is directly related to material flow between departments. Generally material flow is represented by the product of the amount of material and the distance the material is moved. The distance traveled is estimated using rectilinear distance between centroids of the departments since material moves through a facility by way of aisles. Constraints ensure departments do not overlap and departments are of proper size. 1.2 Dynamic Facility Layout (DLP) A large number of optimal and heuristic algorithms have been designed and published to solve the facility layout problems. They are mostly static in nature. A DLP generates a series of static layouts each representing the facility layout at a unique point of time. The DLP minimizes the cost of changing from one layout to another, called the relayout cost, plus the flow cost of each layout. 1.3 Problem Statement An existing program can solve static as well as dynamic layout problems. The current program takes a considerable amount of time and memory to obtain optimal solutions. The greater the number of departments, the higher will be the solution time and memory required. This thesis develops a more efficient program which reduces solution time, reduces memory required, and improves total cost where optimal solution is not reached. Chapter 2 Literature Review 2.1 Purpose of Literature Review The purpose of the literature review is to explore current research in different facility layout problems, including various models to represent the facility layout problem and algorithms that solve these models. 2.2 Classification of Facility Layout Problems There are mainly two ways of representing areas of departments in the facility layout problem: discrete and continuous. In the discrete representation of area, the total area required by all the departments is divided into blocks of equal size. The algorithms which use this representation either prespecify the dimensions of the departments or represent each department as a set of grid blocks. This often leads to irregularly shaped departments and inaccurate representation of areas. Continuous representation of areas overcome the drawbacks of discrete representation. It allows unequal department areas to be represented accurately by the coordinates of their comers- upper right and lower left. Constraints are used to limit their length-to-width (aspect) ratio. 2.3 Discrete Representation of Area This section discusses models and algorithms that allow a discrete representation of unequal areas. In this case there are two different types of algorithms-heuristic and optimal. 2.3.1 Heuristic Algorithm A heuristic algorithm works towards an optimal solution but ends its search when it finds a 'good enough' solution. As computation increases, these algorithms will approach the optimal solution. The purpose of the heuristic algorithm is not to find the best or optimal solution but to find an acceptable solution in an acceptable amount of time using an acceptable amount of computer memory. 2.3.la Construction Algorithms ALDEP (Seehof and Evans, 1967) randomly selects a department and assigns it to the upper left comer of the layout. The next department selected for the assignment is one which has highest closeness rating in the relationship (REL) chart to the initial department and places it in the layout. The closeness ratings are qualitative ratings signifying the desirability of placing two departments adjacent to each other. The above process is repeated until all the departments are placed in the layout. Several layouts can 6 be generated because the initial department is chosen randomly. ALDEP has the ability to handle up to 63 departments and up to three floors. Some of the disadvantages of this algorithm are that the total area requirement for the floor must be known, the departments areas are restricted to integer multiple of blocks and layouts generated may contain unacceptably irregular shaped departments. CORELAP (Lee and Moore, 1967) also uses a total closeness rating of each department to determine a layout. Unlike A.LDEP which randomly selects the first department to be assigned, CORELAP selects the .first department depending upon its total closeness rating value. The selected first department is placed in the center of the layout and the rest of the departments are added subsequently depending on their relationships to the departments already assigned. This algorithm also suffers the same disadvantages as ALDEP, such as inaccurate representation of departmental areas and irregularly shaped departments which requires manual adjustment to enhance the practical feasibility of layout. 2.3.lb Improvement Algorithms The most popular improvement algorithm is CRAFT, which was developed by Armour and Buffa (1963).
Recommended publications
  • Metaheuristics1
    METAHEURISTICS1 Kenneth Sörensen University of Antwerp, Belgium Fred Glover University of Colorado and OptTek Systems, Inc., USA 1 Definition A metaheuristic is a high-level problem-independent algorithmic framework that provides a set of guidelines or strategies to develop heuristic optimization algorithms (Sörensen and Glover, To appear). Notable examples of metaheuristics include genetic/evolutionary algorithms, tabu search, simulated annealing, and ant colony optimization, although many more exist. A problem-specific implementation of a heuristic optimization algorithm according to the guidelines expressed in a metaheuristic framework is also referred to as a metaheuristic. The term was coined by Glover (1986) and combines the Greek prefix meta- (metá, beyond in the sense of high-level) with heuristic (from the Greek heuriskein or euriskein, to search). Metaheuristic algorithms, i.e., optimization methods designed according to the strategies laid out in a metaheuristic framework, are — as the name suggests — always heuristic in nature. This fact distinguishes them from exact methods, that do come with a proof that the optimal solution will be found in a finite (although often prohibitively large) amount of time. Metaheuristics are therefore developed specifically to find a solution that is “good enough” in a computing time that is “small enough”. As a result, they are not subject to combinatorial explosion – the phenomenon where the computing time required to find the optimal solution of NP- hard problems increases as an exponential function of the problem size. Metaheuristics have been demonstrated by the scientific community to be a viable, and often superior, alternative to more traditional (exact) methods of mixed- integer optimization such as branch and bound and dynamic programming.
    [Show full text]
  • Lecture 4 Dynamic Programming
    1/17 Lecture 4 Dynamic Programming Last update: Jan 19, 2021 References: Algorithms, Jeff Erickson, Chapter 3. Algorithms, Gopal Pandurangan, Chapter 6. Dynamic Programming 2/17 Backtracking is incredible powerful in solving all kinds of hard prob- lems, but it can often be very slow; usually exponential. Example: Fibonacci numbers is defined as recurrence: 0 if n = 0 Fn =8 1 if n = 1 > Fn 1 + Fn 2 otherwise < ¡ ¡ > A direct translation in:to recursive program to compute Fibonacci number is RecFib(n): if n=0 return 0 if n=1 return 1 return RecFib(n-1) + RecFib(n-2) Fibonacci Number 3/17 The recursive program has horrible time complexity. How bad? Let's try to compute. Denote T(n) as the time complexity of computing RecFib(n). Based on the recursion, we have the recurrence: T(n) = T(n 1) + T(n 2) + 1; T(0) = T(1) = 1 ¡ ¡ Solving this recurrence, we get p5 + 1 T(n) = O(n); = 1.618 2 So the RecFib(n) program runs at exponential time complexity. RecFib Recursion Tree 4/17 Intuitively, why RecFib() runs exponentially slow. Problem: redun- dant computation! How about memorize the intermediate computa- tion result to avoid recomputation? Fib: Memoization 5/17 To optimize the performance of RecFib, we can memorize the inter- mediate Fn into some kind of cache, and look it up when we need it again. MemFib(n): if n = 0 n = 1 retujrjn n if F[n] is undefined F[n] MemFib(n-1)+MemFib(n-2) retur n F[n] How much does it improve upon RecFib()? Assuming accessing F[n] takes constant time, then at most n additions will be performed (we never recompute).
    [Show full text]
  • Dynamic Programming Via Static Incrementalization 1 Introduction
    Dynamic Programming via Static Incrementalization Yanhong A. Liu and Scott D. Stoller Abstract Dynamic programming is an imp ortant algorithm design technique. It is used for solving problems whose solutions involve recursively solving subproblems that share subsubproblems. While a straightforward recursive program solves common subsubproblems rep eatedly and of- ten takes exp onential time, a dynamic programming algorithm solves every subsubproblem just once, saves the result, reuses it when the subsubproblem is encountered again, and takes p oly- nomial time. This pap er describ es a systematic metho d for transforming programs written as straightforward recursions into programs that use dynamic programming. The metho d extends the original program to cache all p ossibly computed values, incrementalizes the extended pro- gram with resp ect to an input increment to use and maintain all cached results, prunes out cached results that are not used in the incremental computation, and uses the resulting in- cremental program to form an optimized new program. Incrementalization statically exploits semantics of b oth control structures and data structures and maintains as invariants equalities characterizing cached results. The principle underlying incrementalization is general for achiev- ing drastic program sp eedups. Compared with previous metho ds that p erform memoization or tabulation, the metho d based on incrementalization is more powerful and systematic. It has b een implemented and applied to numerous problems and succeeded on all of them. 1 Intro duction Dynamic programming is an imp ortant technique for designing ecient algorithms [2, 44 , 13 ]. It is used for problems whose solutions involve recursively solving subproblems that overlap.
    [Show full text]
  • Automatic Code Generation Using Dynamic Programming Techniques
    ! Automatic Code Generation using Dynamic Programming Techniques MASTERARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Masterstudium INFORMATIK Eingereicht von: Igor Böhm, 0155477 Angefertigt am: Institut für System Software Betreuung: o.Univ.-Prof.Dipl.-Ing. Dr. Dr.h.c. Hanspeter Mössenböck Linz, Oktober 2007 Abstract Building compiler back ends from declarative specifications that map tree structured intermediate representations onto target machine code is the topic of this thesis. Although many tools and approaches have been devised to tackle the problem of automated code generation, there is still room for improvement. In this context we present Hburg, an implementation of a code generator generator that emits compiler back ends from concise tree pattern specifications written in our code generator description language. The language features attribute grammar style specifications and allows for great flexibility with respect to the placement of semantic actions. Our main contribution is to show that these language features can be integrated into automatically generated code generators that perform optimal instruction selection based on tree pattern matching combined with dynamic program- ming. In order to substantiate claims about the usefulness of our language we provide two complete examples that demonstrate how to specify code generators for Risc and Cisc architectures. Kurzfassung Diese Diplomarbeit beschreibt Hburg, ein Werkzeug das aus einer Spezi- fikation des abstrakten Syntaxbaums eines Programms und der Spezifika- tion der gewuns¨ chten Zielmaschine automatisch einen Codegenerator fur¨ diese Maschine erzeugt. Abbildungen zwischen abstrakten Syntaxb¨aumen und einer Zielmaschine werden durch Baummuster definiert. Fur¨ diesen Zweck haben wir eine deklarative Beschreibungssprache entwickelt, die es erm¨oglicht den Baummustern Attribute beizugeben, wodurch diese gleich- sam parametrisiert werden k¨onnen.
    [Show full text]
  • 1 Introduction 2 Dijkstra's Algorithm
    15-451/651: Design & Analysis of Algorithms September 3, 2019 Lecture #3: Dynamic Programming II last changed: August 30, 2019 In this lecture we continue our discussion of dynamic programming, focusing on using it for a variety of path-finding problems in graphs. Topics in this lecture include: • The Bellman-Ford algorithm for single-source (or single-sink) shortest paths. • Matrix-product algorithms for all-pairs shortest paths. • Algorithms for all-pairs shortest paths, including Floyd-Warshall and Johnson. • Dynamic programming for the Travelling Salesperson Problem (TSP). 1 Introduction As a reminder of basic terminology: a graph is a set of nodes or vertices, with edges between some of the nodes. We will use V to denote the set of vertices and E to denote the set of edges. If there is an edge between two vertices, we call them neighbors. The degree of a vertex is the number of neighbors it has. Unless otherwise specified, we will not allow self-loops or multi-edges (multiple edges between the same pair of nodes). As is standard with discussing graphs, we will use n = jV j, and m = jEj, and we will let V = f1; : : : ; ng. The above describes an undirected graph. In a directed graph, each edge now has a direction (and as we said earlier, we will sometimes call the edges in a directed graph arcs). For each node, we can now talk about out-neighbors (and out-degree) and in-neighbors (and in-degree). In a directed graph you may have both an edge from u to v and an edge from v to u.
    [Show full text]
  • Language and Compiler Support for Dynamic Code Generation by Massimiliano A
    Language and Compiler Support for Dynamic Code Generation by Massimiliano A. Poletto S.B., Massachusetts Institute of Technology (1995) M.Eng., Massachusetts Institute of Technology (1995) Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 1999 © Massachusetts Institute of Technology 1999. All rights reserved. A u th or ............................................................................ Department of Electrical Engineering and Computer Science June 23, 1999 Certified by...............,. ...*V .,., . .* N . .. .*. *.* . -. *.... M. Frans Kaashoek Associate Pro essor of Electrical Engineering and Computer Science Thesis Supervisor A ccepted by ................ ..... ............ ............................. Arthur C. Smith Chairman, Departmental CommitteA on Graduate Students me 2 Language and Compiler Support for Dynamic Code Generation by Massimiliano A. Poletto Submitted to the Department of Electrical Engineering and Computer Science on June 23, 1999, in partial fulfillment of the requirements for the degree of Doctor of Philosophy Abstract Dynamic code generation, also called run-time code generation or dynamic compilation, is the cre- ation of executable code for an application while that application is running. Dynamic compilation can significantly improve the performance of software by giving the compiler access to run-time infor- mation that is not available to a traditional static compiler. A well-designed programming interface to dynamic compilation can also simplify the creation of important classes of computer programs. Until recently, however, no system combined efficient dynamic generation of high-performance code with a powerful and portable language interface. This thesis describes a system that meets these requirements, and discusses several applications of dynamic compilation.
    [Show full text]
  • Bellman-Ford Algorithm
    The many cases offinding shortest paths Dynamic programming Bellman-Ford algorithm We’ve already seen how to calculate the shortest path in an Tyler Moore unweighted graph (BFS traversal) We’ll now study how to compute the shortest path in different CSE 3353, SMU, Dallas, TX circumstances for weighted graphs Lecture 18 1 Single-source shortest path on a weighted DAG 2 Single-source shortest path on a weighted graph with nonnegative weights (Dijkstra’s algorithm) 3 Single-source shortest path on a weighted graph including negative weights (Bellman-Ford algorithm) Some slides created by or adapted from Dr. Kevin Wayne. For more information see http://www.cs.princeton.edu/~wayne/kleinberg-tardos. Some code reused from Python Algorithms by Magnus Lie Hetland. 2 / 13 �������������� Shortest path problem. Given a digraph ����������, with arbitrary edge 6. DYNAMIC PROGRAMMING II weights or costs ���, find cheapest path from node � to node �. ‣ sequence alignment ‣ Hirschberg's algorithm ‣ Bellman-Ford 1 -3 3 5 ‣ distance vector protocols 4 12 �������� 0 -5 ‣ negative cycles in a digraph 8 7 7 2 9 9 -1 1 11 ����������� 5 5 -3 13 4 10 6 ������������� ���������������������������������� 22 3 / 13 4 / 13 �������������������������������� ��������������� Dijkstra. Can fail if negative edge weights. Def. A negative cycle is a directed cycle such that the sum of its edge weights is negative. s 2 u 1 3 v -8 w 5 -3 -3 Reweighting. Adding a constant to every edge weight can fail. 4 -4 u 5 5 2 2 ���������������������� c(W) = ce < 0 t s e W 6 6 �∈ 3 3 0 v -3 w 23 24 5 / 13 6 / 13 ���������������������������������� ���������������������������������� Lemma 1.
    [Show full text]
  • Notes on Dynamic Programming Algorithms & Data Structures 1
    Notes on Dynamic Programming Algorithms & Data Structures Dr Mary Cryan These notes are to accompany lectures 10 and 11 of ADS. 1 Introduction The technique of Dynamic Programming (DP) could be described “recursion turned upside-down”. However, it is not usually used as an alternative to recursion. Rather, dynamic programming is used (if possible) for cases when a recurrence for an algorithmic problem will not run in polynomial-time if it is implemented recursively. So in fact Dynamic Programming is a more- powerful technique than basic Divide-and-Conquer. Designing, Analysing and Implementing a dynamic programming algorithm is (like Divide- and-Conquer) highly problem specific. However, there are particular features shared by most dynamic programming algorithms, and we describe them below on page 2 (dp1(a), dp1(b), dp2, dp3). It will be helpful to carry along an introductory example-problem to illustrate these fea- tures. The introductory problem will be the problem of computing the nth Fibonacci number, where F(n) is defined as follows: F0 = 0; F1 = 1; Fn = Fn-1 + Fn-2 (for n ≥ 2). Since Fibonacci numbers are defined recursively, the definition suggests a very natural recursive algorithm to compute F(n): Algorithm REC-FIB(n) 1. if n = 0 then 2. return 0 3. else if n = 1 then 4. return 1 5. else 6. return REC-FIB(n - 1) + REC-FIB(n - 2) First note that were we to implement REC-FIB, we would not be able to use the Master Theo- rem to analyse its running-time. The recurrence for the running-time TREC-FIB(n) that we would get would be TREC-FIB(n) = TREC-FIB(n - 1) + TREC-FIB(n - 2) + Θ(1); (1) where the Θ(1) comes from the fact that, at most, we have to do enough work to add two values together (on line 6).
    [Show full text]
  • Matroidal Subdivisions, Dressians and Tropical Grassmannians
    Matroidal subdivisions, Dressians and tropical Grassmannians vorgelegt von Diplom-Mathematiker Benjamin Frederik Schröter geboren in Frankfurt am Main Von der Fakultät II – Mathematik und Naturwissenschaften der Technischen Universität Berlin zur Erlangung des akademischen Grades Doktor der Naturwissenschaften – Dr. rer. nat. – genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. Wilhelm Stannat Gutachter: Prof. Dr. Michael Joswig Prof. Dr. Hannah Markwig Senior Lecturer Ph.D. Alex Fink Tag der wissenschaftlichen Aussprache: 17. November 2017 Berlin 2018 Zusammenfassung In dieser Arbeit untersuchen wir verschiedene Aspekte von tropischen linearen Räumen und deren Modulräumen, den tropischen Grassmannschen und Dressschen. Tropische lineare Räume sind dual zu Matroidunterteilungen. Motiviert durch das Konzept der Splits, dem einfachsten Fall einer polytopalen Unterteilung, wird eine neue Klasse von Matroiden eingeführt, die mit Techniken der polyedrischen Geometrie untersucht werden kann. Diese Klasse ist sehr groß, da sie alle Paving-Matroide und weitere Matroide enthält. Die strukturellen Eigenschaften von Split-Matroiden können genutzt werden, um neue Ergebnisse in der tropischen Geometrie zu erzielen. Vor allem verwenden wir diese, um Strahlen der tropischen Grassmannschen zu konstruieren und die Dimension der Dressschen zu bestimmen. Dazu wird die Beziehung zwischen der Realisierbarkeit von Matroiden und der von tropischen linearen Räumen weiter entwickelt. Die Strahlen einer Dressschen entsprechen den Facetten des Sekundärpolytops eines Hypersimplexes. Eine besondere Klasse von Facetten bildet die Verallgemeinerung von Splits, die wir Multi-Splits nennen und die Herrmann ursprünglich als k-Splits bezeichnet hat. Wir geben eine explizite kombinatorische Beschreibung aller Multi-Splits eines Hypersimplexes. Diese korrespondieren mit Nested-Matroiden. Über die tropische Stiefelabbildung erhalten wir eine Beschreibung aller Multi-Splits für Produkte von Simplexen.
    [Show full text]
  • Parallel Technique for the Metaheuristic Algorithms Using Devoted Local Search and Manipulating the Solutions Space
    applied sciences Article Parallel Technique for the Metaheuristic Algorithms Using Devoted Local Search and Manipulating the Solutions Space Dawid Połap 1,* ID , Karolina K˛esik 1, Marcin Wo´zniak 1 ID and Robertas Damaševiˇcius 2 ID 1 Institute of Mathematics, Silesian University of Technology, Kaszubska 23, 44-100 Gliwice, Poland; [email protected] (K.K.); [email protected] (M.W.) 2 Department of Software Engineering, Kaunas University of Technology, Studentu 50, LT-51368, Kaunas, Lithuania; [email protected] * Correspondence: [email protected] Received: 16 December 2017; Accepted: 13 February 2018 ; Published: 16 February 2018 Abstract: The increasing exploration of alternative methods for solving optimization problems causes that parallelization and modification of the existing algorithms are necessary. Obtaining the right solution using the meta-heuristic algorithm may require long operating time or a large number of iterations or individuals in a population. The higher the number, the longer the operation time. In order to minimize not only the time, but also the value of the parameters we suggest three proposition to increase the efficiency of classical methods. The first one is to use the method of searching through the neighborhood in order to minimize the solution space exploration. Moreover, task distribution between threads and CPU cores can affect the speed of the algorithm and therefore make it work more efficiently. The second proposition involves manipulating the solutions space to minimize the number of calculations. In addition, the third proposition is the combination of the previous two. All propositions has been described, tested and analyzed due to the use of various test functions.
    [Show full text]
  • A Truncated SQP Algorithm for Large Scale Nonlinear Programming Problems
    ' : .v ' : V. • ' '^!V'> r" '%': ' W ' ::r'' NISTIR 4900 Computing and Applied Mathematics Laboratory A Truncated SQP Algorithm for Large Scale Nonlinear Programming Problems P.T. Boggs, J.W. Tolle, A.J. Kearsley August 1992 Technology Administration U.S. DEPARTMENT OF COMMERCE National Institute of Standards and Technology Gaithersburg, MD 20899 “QC— 100 .U56 4900 1992 Jc. NISTIR 4900 A Truncated SQP Algorithm for Large Scale Nonlinear Programming Problems P. T. Boggs J. W. Tone A. J. Kearsley U.S. DEPARTMENT OF COMMERCE Technology Administration National Institute of Standards and Technology Computing and Applied Mathematics Laboratory Applied and Computational Mathematics Division Gaithersburg, MD 20899 August 1992 U.S. DEPARTMENT OF COMMERCE Barbara Hackman Franklin, Secretary TECHNOLOGY ADMINISTRATION Robert M. White, Under Secretary for Technology NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY John W. Lyons, Director si.- MT-- ’•,•• /'k /-.<• -Vj* #' ^ ( "> M !f>' J ' • ''f,i sgsHv.w,^. ^ , .!n'><^.'". tr 'V 10 i^ailCin'i.-'J/ > ' it i>1l • •»' W " %'. ' ' -fft ?" . , - '>! .-' .S A Truncated SQP Algorithm for Large Scale Nonlinear Programming Problems * Paul T. Boggs ^ Jon W. ToUe ^ Anthony J. Kearsley § August 4, 1992 Abstract We consider the inequality constrained nonlinear programming problem and an SQP algorithm for its solution. We are primarily concerned with two aspects of the general procedure, namely, the approximate solution of the quadratic program, and the need for an appropriate merit function. We first describe an (iterative) interior-point method for the quadratic programming subproblem that, no matter when it its terminated, yields a descent direction for a suggested new merit function. An algorithm based on ideas from trust-region and truncated Newton methods, is suggested and some of our preliminary numerical results are discussed.
    [Show full text]
  • A Bound Strengthening Method for Optimal Transmission Switching in Power Systems
    1 A Bound Strengthening Method for Optimal Transmission Switching in Power Systems Salar Fattahi∗, Javad Lavaei∗;+, and Alper Atamturk¨ ∗ ∗ Industrial Engineering and Operations Research, University of California, Berkeley + Tsinghua-Berkeley Shenzhen Institute, University of California, Berkeley. Abstract—This paper studies the optimal transmission switch- transmission switches) in the system. Furthermore, The Energy ing (OTS) problem for power systems, where certain lines are Policy Act of 2005 explicitly addresses the “difficulties of fixed (uncontrollable) and the remaining ones are controllable siting major new transmission facilities” and calls for the via on/off switches. The goal is to identify a topology of the power grid that minimizes the cost of the system operation while utilization of better transmission technologies [2]. satisfying the physical and operational constraints. Most of the Unlike in the classical network flows, removing a line from existing methods for the problem are based on first converting a power network may improve the efficiency of the network the OTS into a mixed-integer linear program (MILP) or mixed- due to physical laws. This phenomenon has been observed integer quadratic program (MIQP), and then iteratively solving and harnessed to improve the power system performance by a series of its convex relaxations. The performance of these methods depends heavily on the strength of the MILP or MIQP many authors. The notion of optimally switching the lines of formulations. In this paper, it is shown that finding the strongest a transmission network was introduced by O’Neill et al. [3]. variable upper and lower bounds to be used in an MILP or Later on, it has been shown in a series of papers that the MIQP formulation of the OTS based on the big-M or McCormick incorporation of controllable transmission switches in a grid inequalities is NP-hard.
    [Show full text]