Julia Programming for Operations Research


Book Description

Last Updated: December 2020 Based on Julia v1.3+ and JuMP v0.21+ The main motivation of writing this book was to help the author himself. He is a professor in the field of operations research, and his daily activities involve building models of mathematical optimization, developing algorithms for solving the problems, implementing those algorithms using computer programming languages, experimenting with data, etc. Three languages are involved: human language, mathematical language, and computer language. His team of students need to go over three different languages, which requires "translation" among the three languages. As this book was written to teach his research group how to translate, this book will also be useful for anyone who needs to learn how to translate in a similar situation. The Julia Language is as fast as C, as convenient as MATLAB, and as general as Python with a flexible algebraic modeling language for mathematical optimization problems. With the great support from Julia developers, especially the developers of the JuMP—Julia for Mathematical Programming—package, Julia makes a perfect tool for students and professionals in operations research and related areas such as industrial engineering, management science, transportation engineering, economics, and regional science. For more information, visit: http://www.chkwon.net/julia




Optimization Models


Book Description

This accessible textbook demonstrates how to recognize, simplify, model and solve optimization problems - and apply these principles to new projects.




Convexification and Global Optimization in Continuous and Mixed-Integer Nonlinear Programming


Book Description

Interest in constrained optimization originated with the simple linear pro gramming model since it was practical and perhaps the only computationally tractable model at the time. Constrained linear optimization models were soon adopted in numerous application areas and are perhaps the most widely used mathematical models in operations research and management science at the time of this writing. Modelers have, however, found the assumption of linearity to be overly restrictive in expressing the real-world phenomena and problems in economics, finance, business, communication, engineering design, computational biology, and other areas that frequently demand the use of nonlinear expressions and discrete variables in optimization models. Both of these extensions of the linear programming model are NP-hard, thus representing very challenging problems. On the brighter side, recent advances in algorithmic and computing technology make it possible to re visit these problems with the hope of solving practically relevant problems in reasonable amounts of computational time. Initial attempts at solving nonlinear programs concentrated on the de velopment of local optimization methods guaranteeing globality under the assumption of convexity. On the other hand, the integer programming liter ature has concentrated on the development of methods that ensure global optima. The aim of this book is to marry the advancements in solving nonlinear and integer programming models and to develop new results in the more general framework of mixed-integer nonlinear programs (MINLPs) with the goal of devising practically efficient global optimization algorithms for MINLPs.




Fundamentals of Optimization Techniques with Algorithms


Book Description

Optimization is a key concept in mathematics, computer science, and operations research, and is essential to the modeling of any system, playing an integral role in computer-aided design. Fundamentals of Optimization Techniques with Algorithms presents a complete package of various traditional and advanced optimization techniques along with a variety of example problems, algorithms and MATLAB© code optimization techniques, for linear and nonlinear single variable and multivariable models, as well as multi-objective and advanced optimization techniques. It presents both theoretical and numerical perspectives in a clear and approachable way. In order to help the reader apply optimization techniques in practice, the book details program codes and computer-aided designs in relation to real-world problems. Ten chapters cover, an introduction to optimization; linear programming; single variable nonlinear optimization; multivariable unconstrained nonlinear optimization; multivariable constrained nonlinear optimization; geometric programming; dynamic programming; integer programming; multi-objective optimization; and nature-inspired optimization. This book provides accessible coverage of optimization techniques, and helps the reader to apply them in practice. - Presents optimization techniques clearly, including worked-out examples, from traditional to advanced - Maps out the relations between optimization and other mathematical topics and disciplines - Provides systematic coverage of algorithms to facilitate computer coding - Gives MATLAB© codes in relation to optimization techniques and their use in computer-aided design - Presents nature-inspired optimization techniques including genetic algorithms and artificial neural networks




Optimization Theory and Methods


Book Description

Optimization Theory and Methods can be used as a textbook for an optimization course for graduates and senior undergraduates. It is the result of the author's teaching and research over the past decade. It describes optimization theory and several powerful methods. For most methods, the book discusses an idea’s motivation, studies the derivation, establishes the global and local convergence, describes algorithmic steps, and discusses the numerical performance.




Extensions of Dynamic Programming for Combinatorial Optimization and Data Mining


Book Description

Dynamic programming is an efficient technique for solving optimization problems. It is based on breaking the initial problem down into simpler ones and solving these sub-problems, beginning with the simplest ones. A conventional dynamic programming algorithm returns an optimal object from a given set of objects. This book develops extensions of dynamic programming, enabling us to (i) describe the set of objects under consideration; (ii) perform a multi-stage optimization of objects relative to different criteria; (iii) count the number of optimal objects; (iv) find the set of Pareto optimal points for bi-criteria optimization problems; and (v) to study relationships between two criteria. It considers various applications, including optimization of decision trees and decision rule systems as algorithms for problem solving, as ways for knowledge representation, and as classifiers; optimization of element partition trees for rectangular meshes, which are used in finite element methods for solving PDEs; and multi-stage optimization for such classic combinatorial optimization problems as matrix chain multiplication, binary search trees, global sequence alignment, and shortest paths. The results presented are useful for researchers in combinatorial optimization, data mining, knowledge discovery, machine learning, and finite element methods, especially those working in rough set theory, test theory, logical analysis of data, and PDE solvers. This book can be used as the basis for graduate courses.




Applied Optimization with MATLAB Programming


Book Description

Technology/Engineering/Mechanical Provides all the tools needed to begin solving optimization problems using MATLAB® The Second Edition of Applied Optimization with MATLAB® Programming enables readers to harness all the features of MATLAB® to solve optimization problems using a variety of linear and nonlinear design optimization techniques. By breaking down complex mathematical concepts into simple ideas and offering plenty of easy-to-follow examples, this text is an ideal introduction to the field. Examples come from all engineering disciplines as well as science, economics, operations research, and mathematics, helping readers understand how to apply optimization techniques to solve actual problems. This Second Edition has been thoroughly revised, incorporating current optimization techniques as well as the improved MATLAB® tools. Two important new features of the text are: Introduction to the scan and zoom method, providing a simple, effective technique that works for unconstrained, constrained, and global optimization problems New chapter, Hybrid Mathematics: An Application, using examples to illustrate how optimization can develop analytical or explicit solutions to differential systems and data-fitting problems Each chapter ends with a set of problems that give readers an opportunity to put their new skills into practice. Almost all of the numerical techniques covered in the text are supported by MATLAB® code, which readers can download on the text's companion Web site www.wiley.com/go/venkat2e and use to begin solving problems on their own. This text is recommended for upper-level undergraduate and graduate students in all areas of engineering as well as other disciplines that use optimization techniques to solve design problems.




Discrete Optimization Algorithms


Book Description

Upper-level undergraduates and graduate students will benefit from this treatment of discrete optimization algorithms, which covers linear and integer programming and offers a collection of ready-to-use computer programs. 1983 edition.




Software Optimization for High-performance Computing


Book Description

The hands-on guide to high-performance coding and algorithm optimization. This hands-on guide to software optimization introduces state-of-the-art solutions for every key aspect of software performance - both code-based and algorithm-based. Two leading HP software performance experts offer comparative optimization strategies for RISC and for the new Explicitly Parallel Instruction Computing (EPIC) design used in Intel IA-64 processors. Using many practical examples, they offer specific techniques for: Predicting and measuring performance - and identifying your best optimization opportunities Storage optimization: cache, system memory, virtual memory, and I/0 Parallel processing: distributed-memory and shared-memory (SMP and ccNUMA) Compilers and loop optimization Enhancing parallelism: compiler directives, threads, and message passing Mathematical libraries and algorithms Whether you're a developer, ISV, or technical researcher, if you need to optimize high-performance software on today's leading processors, one book delivers the advanced techniques and code examples you need: Software Optimization for High Performance Computing.




Algorithms for Optimization


Book Description

A comprehensive introduction to optimization with a focus on practical algorithms for the design of engineering systems. This book offers a comprehensive introduction to optimization with a focus on practical algorithms. The book approaches optimization from an engineering perspective, where the objective is to design a system that optimizes a set of metrics subject to constraints. Readers will learn about computational approaches for a range of challenges, including searching high-dimensional spaces, handling problems where there are multiple competing objectives, and accommodating uncertainty in the metrics. Figures, examples, and exercises convey the intuition behind the mathematical approaches. The text provides concrete implementations in the Julia programming language. Topics covered include derivatives and their generalization to multiple dimensions; local descent and first- and second-order methods that inform local descent; stochastic methods, which introduce randomness into the optimization process; linear constrained optimization, when both the objective function and the constraints are linear; surrogate models, probabilistic surrogate models, and using probabilistic surrogate models to guide optimization; optimization under uncertainty; uncertainty propagation; expression optimization; and multidisciplinary design optimization. Appendixes offer an introduction to the Julia language, test functions for evaluating algorithm performance, and mathematical concepts used in the derivation and analysis of the optimization methods discussed in the text. The book can be used by advanced undergraduates and graduate students in mathematics, statistics, computer science, any engineering field, (including electrical engineering and aerospace engineering), and operations research, and as a reference for professionals.