Tutorial Software for Stochastic Programming

Total Page:16

File Type:pdf, Size:1020Kb

Tutorial Software for Stochastic Programming Tutorial Software for Stochastic Programming David L. Woodruff Graduate School of Management UC Davis Davis CA USA 95616 DLWoodruff@UCDavis.edu Introduction I I received an order to talk about software for stochastic programming in general with an overview of issues and what exists. I I intend to deliver, but with a bias toward creating software for release. Software Tools Area of IJOC Papers describing software and data made available to the research community are particularly sought. These papers need not provide novel mathematics or algorithms themselves, but must be novel and important with respect to computing and must describe or illustrate how the software and data can be used to advance research and how it fits in the research literature. https://pubsonline.informs.org/page/ijoc/ editorial-statement#Software%20Tools cORe Database of instances and data. Contact Suvrajeet Sen for more information or see the cORe site https://core.isrd.isi.edu Outline Introduction Features Lists Crowd-source features Parallelism Input Creation Software Parting Thoughts Encore Optimization Under Uncertainty Vague, yet general, formulation assuming a function f parameterized by ξ that maps to a space for which min has meaning: minx Vξ2Ξ(f (x; ξ) (P) s.t. x 2 Ω) where Ξ and Ω may have uncertain components. Takeaways I How to think about SP software I A (partial?) list of what is out there I Opportunities for research There will be takeaways for me as well, based on some crowd-sourcing. Audience I Who are you? I Writing software? I Using software? I General-purpose? I Applications area? I Energy? I Other natural resources? I Transportation or Logistics? I Finance? I Other? Expressing things I "reference" models I stage structure (e.g., scenario trees) I scenario data, or distributions, or uncertainty sets Features Lists Take a look at the features lists in the software surveys published by or-ms today, e.g., https://pubsonline.informs.org/magazine/orms-today/ 2019-linear-programming-software-survey Let's start walking through an extended feature list for SP software. Open and Free? I Open-source versus compiled image I Gratis/kostenlos/free versus commercial Oh wow, man Remember that all software is data but not all data is software. Type of \language" for models, data, algorithms I Data and Structure I Standard Format with implied model form (e.g., SMPS) I Code Library (e.g., SMI) I Creator/Oracle (e.g., mape maker) I Models I AML (e.g., AMPL) perhaps with annotations. I Object Library (e.g., CPLEX Python) I Algorithms I Programming Language (e.g., C++) I Custom Component Library WLOG Many things that are \without loss of generality" from an algorithmic perspective may be a little misleading from a software user or writer's perspective. Underlying Model I linear I quadratic I convex I general non-linear I binaries/integers Two Biggies I Decision versus Policy I Two stage versus multi-stage Software for two-stage is often not-so-easy to extend to multi-stage. https://www.youtube.com/watch?v=_JZom_gVfuw Assumptions about uncertainty I RHS only, etc,. I Stage independence I Exogenous/Endogenous uncertainty I Given a distribution I Given scenarios I Just given data Simplified Scenario-based EF Expected Value Statement X min Pr(s)f (X (s); s): X (s) 2 Qs ; X (s) 2 N ; s 2 S s2S Stochasticity I Will your software provide stochastic bounds I Solve EF only, or progressively sample I Sample from a distribution I Use a sample oracle Decomposition I Stage-wise I Scenario I Other Risk I Risk in the objective I Chance constraints I Optimize for worst-case(s) I Stochastic dominance Parallelism I What aspects are parallelized? I What are the limits of parallel efficiency? Crowd-source features What features are missing? To whom should we send the survey? I AIMMS; https://www.aimms.com/english/developers/ resources/examples/functional-examples/ stochastic-programming/ I bnbs; https://neos-server.org/neos/solvers/slp: bnbs/SMPS.html I DDSIP; https://github.com/RalfGollmer/ddsip I DSP; https://www.mcs.anl.gov/research/projects/DSP/ I fast; https://github.com/leopoldcambier/FAST I FICO Xpress; (Mosel) Hard to find? I flopc++; https://projects.coin-or.org/FlopC++ I Frontline Risk; https://www.solver.com/ risk-solver-stochastic-libraries?gclid= Cj0KCQjwpavpBRDQARIsAPfTwixWl_ zBumRDV9XoBItadbCslgeGfvHaaxWpvQBqUIRjgCdPVhypuq4aAjqmEALw_ wcB more I Lindo; https://www.lindo.com/index.php/products/ lingo-and-optimization-modeling?catid=90&id=98: stochastic-programming-features I maximal; http://www.maximalsoftware.com/maximal/ news/stochastic.html I MSLiP I msppy; github.com/lingquant/msppy I OsiL/SE; https://www.coin-or.org/OS/OSiL_SE.html I PySP; https://github.com/Pyomo/pyomo I SD; https://github.com/USC3DLAB/ I sddip; https://github.com/lkapelevich/SDDiP.jl I SMI; https://projects.coin-or.org/Smi I SMPS I StructDualDynProg; https://github.com/JuliaStochOpt/StructDualDynProg.jl I structjump; https://github.com/StructJuMP/StructJuMP.jl I sddp.jl; https://www.psr-inc.com/softwares-en/ I mosek; https://www.mosek.com/documentation/ Parallelism I What aspects are parallelized? I What are the limits of parallel efficiency? Parallel Efficiency 1 Tseq(N) P T (N; P) often approximated (in a cheating-sort-of-way) by 1 T (N; 1) P T (N; P) You might also want to know the lowest wall-clock time, regardless of efficiency; i.e., the assymptote of T (N; P) as a function of P for a given N. MPI vocabulary rank: a process identified by an integer (think of it as an instance of your program.) mpiexec -np 27 myprog comm: a collection of ranks that communicate reduce, broadcast, send: some ways to communicate A Little Bit of C #include <mpi.h> ... int main(int argc, char** argv) { int rank,size; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Comm_size(MPI_COMM_WORLD,&size); if (rank == 0) ... Use PH to illustrate I Data is probably more important for software right now, but I algorithms and parallel implementation are more fun. I We will look at PH because the software issues shared with many other algorithms Simplified Problem Statement X min Pr(s)f (X (s); s): X (s) 2 Qs ; X (s) 2 N ; s 2 S s2S This can be formulate to include CVaR. Progressive Hedging I For a more general description, see Rockafeller and Wets, Math of OR 1991. See also Watson and Woodruff, Computational Management Science 2011. I For each scenario s, (approximate) solutions are obtained for the problem of minimizing, subject to the constraints, the deterministic fs plus terms that penalize lack of implementability. They make use of a system of row vectors, w, that have the same dimension as the column vector system X . Notation I t(A) is the time index for node A (i.e., node A corresponds to time t). I Pr(A) denotes the sum of Pr(s) over all s for scenarios emanating from node A (i.e., those s that are the leaves of the sub-tree having A as a root also referred to as s 2 A). Consequently, X Pr(A) = Pr(s): sinA I X (t; A) on the left hand side of a statement to indicate assignment to the vector (x1(s; t);:::; xN(t)(s; t)) for each s 2 A. I X (s) means (x(s; 1);:::; x(s; T )) for the system of variables. Algorithm Taking ρ > 0 as a (vector) parameter and starting with k := 0 1. For all scenario indexes, s 2 S (0) X (s) := argmin f (X (s); s): X (s) 2 Qs (1) and w (0)(s) := 0 2. k := k + 1 3. For each node, A, in the scenario tree, and for t = t(A) (k−1) X X (t; A) := Pr(s)X (t; s)(k−1)=Pr(A) s2A 4. For all scenario indexes, s 2 S (k−1) w (k)(s) := w (k−1)(s) + (ρ) X (k−1)(s) − X (s) 2 k (k) k−1 X (s) := argmin fs (X (s))+w (s)X (s)+ρ/2 X (s) − X (s) : X (s) 2 Qs : 5. If the termination criteria are not met, then go to step 2. Load Balancing and speed up I Have the solution quality improve as the algorithm converges. I Use a decreasing mipgap. I For most iterations, terminate sub-problems on max time. I Fix some variables heuristically I Use only n log(n) communication mpi for ph I Have a comm for every non-leaf node of the scenario tree I (So for a two stage problem, you only need the global comm) I Have a rank for groups of scenarios I (The simplest to think about is one scenario per rank) I Communication can be accomplished via reductions I (See, e.g., Step (3)) Code snippet comm.Allreduce([synchronizer.local_data[redname][cname], mpi.DOUBLE], [synchronizer.global_data[redname][cname], mpi.DOUBLE], op=mpi.SUM) Some Reduction Operations SUM, MIN, MAX, SUM, AND, OR,... Reductions take n log n time Scenario Creator Issues I Is it going to be built into a solution algorithm or stand-alone? I Give a set or consult an oracle piecemeal? I Are there forecasts or not? I How general can you be? I Do you want adhere to a standard? Oracle For our purposes here, an oracle is a piece of software that returns a scenario when one is requested. I Typically, they are equally likely. I The oracle could simulate or draw from a distribution. I When the oracle operates in parallel (or a priori) it (or something) can create a pool. Quick Example - mape maker I Given a time series of forecasts, we create a set of scenarios for power generation (that we often refer to as actuals to distinguish these values from forecasts) that, based on a forecast system with a specified accuracy, could reasonably correspond to the forecasts.
Recommended publications
  • How to Use Your Favorite MIP Solver: Modeling, Solving, Cannibalizing
    How to use your favorite MIP Solver: modeling, solving, cannibalizing Andrea Lodi University of Bologna, Italy [email protected] January-February, 2012 @ Universit¨atWien A. Lodi, How to use your favorite MIP Solver Setting • We consider a general Mixed Integer Program in the form: T maxfc x : Ax ≤ b; x ≥ 0; xj 2 Z; 8j 2 Ig (1) where matrix A does not have a special structure. A. Lodi, How to use your favorite MIP Solver 1 Setting • We consider a general Mixed Integer Program in the form: T maxfc x : Ax ≤ b; x ≥ 0; xj 2 Z; 8j 2 Ig (1) where matrix A does not have a special structure. • Thus, the problem is solved through branch-and-bound and the bounds are computed by iteratively solving the LP relaxations through a general-purpose LP solver. A. Lodi, How to use your favorite MIP Solver 1 Setting • We consider a general Mixed Integer Program in the form: T maxfc x : Ax ≤ b; x ≥ 0; xj 2 Z; 8j 2 Ig (1) where matrix A does not have a special structure. • Thus, the problem is solved through branch-and-bound and the bounds are computed by iteratively solving the LP relaxations through a general-purpose LP solver. • The course basically covers the MIP but we will try to discuss when possible how crucial is the LP component (the engine), and how much the whole framework is built on top the capability of effectively solving LPs. • Roughly speaking, using the LP computation as a tool, MIP solvers integrate the branch-and-bound and the cutting plane algorithms through variations of the general branch-and-cut scheme [Padberg & Rinaldi 1987] developed in the context of the Traveling Salesman Problem (TSP).
    [Show full text]
  • Julia, My New Friend for Computing and Optimization? Pierre Haessig, Lilian Besson
    Julia, my new friend for computing and optimization? Pierre Haessig, Lilian Besson To cite this version: Pierre Haessig, Lilian Besson. Julia, my new friend for computing and optimization?. Master. France. 2018. cel-01830248 HAL Id: cel-01830248 https://hal.archives-ouvertes.fr/cel-01830248 Submitted on 4 Jul 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. « Julia, my new computing friend? » | 14 June 2018, IETR@Vannes | By: L. Besson & P. Haessig 1 « Julia, my New frieNd for computiNg aNd optimizatioN? » Intro to the Julia programming language, for MATLAB users Date: 14th of June 2018 Who: Lilian Besson & Pierre Haessig (SCEE & AUT team @ IETR / CentraleSupélec campus Rennes) « Julia, my new computing friend? » | 14 June 2018, IETR@Vannes | By: L. Besson & P. Haessig 2 AgeNda for today [30 miN] 1. What is Julia? [5 miN] 2. ComparisoN with MATLAB [5 miN] 3. Two examples of problems solved Julia [5 miN] 4. LoNger ex. oN optimizatioN with JuMP [13miN] 5. LiNks for more iNformatioN ? [2 miN] « Julia, my new computing friend? » | 14 June 2018, IETR@Vannes | By: L. Besson & P. Haessig 3 1. What is Julia ? Open-source and free programming language (MIT license) Developed since 2012 (creators: MIT researchers) Growing popularity worldwide, in research, data science, finance etc… Multi-platform: Windows, Mac OS X, GNU/Linux..
    [Show full text]
  • Numericaloptimization
    Numerical Optimization Alberto Bemporad http://cse.lab.imtlucca.it/~bemporad/teaching/numopt Academic year 2020-2021 Course objectives Solve complex decision problems by using numerical optimization Application domains: • Finance, management science, economics (portfolio optimization, business analytics, investment plans, resource allocation, logistics, ...) • Engineering (engineering design, process optimization, embedded control, ...) • Artificial intelligence (machine learning, data science, autonomous driving, ...) • Myriads of other applications (transportation, smart grids, water networks, sports scheduling, health-care, oil & gas, space, ...) ©2021 A. Bemporad - Numerical Optimization 2/102 Course objectives What this course is about: • How to formulate a decision problem as a numerical optimization problem? (modeling) • Which numerical algorithm is most appropriate to solve the problem? (algorithms) • What’s the theory behind the algorithm? (theory) ©2021 A. Bemporad - Numerical Optimization 3/102 Course contents • Optimization modeling – Linear models – Convex models • Optimization theory – Optimality conditions, sensitivity analysis – Duality • Optimization algorithms – Basics of numerical linear algebra – Convex programming – Nonlinear programming ©2021 A. Bemporad - Numerical Optimization 4/102 References i ©2021 A. Bemporad - Numerical Optimization 5/102 Other references • Stephen Boyd’s “Convex Optimization” courses at Stanford: http://ee364a.stanford.edu http://ee364b.stanford.edu • Lieven Vandenberghe’s courses at UCLA: http://www.seas.ucla.edu/~vandenbe/ • For more tutorials/books see http://plato.asu.edu/sub/tutorials.html ©2021 A. Bemporad - Numerical Optimization 6/102 Optimization modeling What is optimization? • Optimization = assign values to a set of decision variables so to optimize a certain objective function • Example: Which is the best velocity to minimize fuel consumption ? fuel [ℓ/km] velocity [km/h] 0 30 60 90 120 160 ©2021 A.
    [Show full text]
  • Pysp: Modeling and Solving Stochastic Programs in Python
    Noname manuscript No. (will be inserted by the editor) PySP: Modeling and Solving Stochastic Programs in Python Jean-Paul Watson · David L. Woodruff · William E. Hart Received: September 6, 2010. Abstract Although stochastic programming is a powerful tool for modeling decision- making under uncertainty, various impediments have historically prevented its wide- spread use. One key factor involves the ability of non-specialists to easily express stochastic programming problems as extensions of deterministic models, which are often formulated first. A second key factor relates to the difficulty of solving stochastic programming models, particularly the general mixed-integer, multi-stage case. Intri- cate, configurable, and parallel decomposition strategies are frequently required to achieve tractable run-times. We simultaneously address both of these factors in our PySP software package, which is part of the COIN-OR Coopr open-source Python project for optimization. To formulate a stochastic program in PySP, the user speci- fies both the deterministic base model and the scenario tree with associated uncertain parameters in the Pyomo open-source algebraic modeling language. Given these two models, PySP provides two paths for solution of the corresponding stochastic program. The first alternative involves writing the extensive form and invoking a standard deter- ministic (mixed-integer) solver. For more complex stochastic programs, we provide an implementation of Rockafellar and Wets’ Progressive Hedging algorithm. Our particu- lar focus is on the use of Progressive Hedging as an effective heuristic for approximating Jean-Paul Watson Sandia National Laboratories Discrete Math and Complex Systems Department PO Box 5800, MS 1318 Albuquerque, NM 87185-1318 E-mail: [email protected] David L.
    [Show full text]
  • Process Optimization
    Process Optimization Mathematical Programming and Optimization of Multi-Plant Operations and Process Design Ralph W. Pike Director, Minerals Processing Research Institute Horton Professor of Chemical Engineering Louisiana State University Department of Chemical Engineering, Lamar University, April, 10, 2007 Process Optimization • Typical Industrial Problems • Mathematical Programming Software • Mathematical Basis for Optimization • Lagrange Multipliers and the Simplex Algorithm • Generalized Reduced Gradient Algorithm • On-Line Optimization • Mixed Integer Programming and the Branch and Bound Algorithm • Chemical Production Complex Optimization New Results • Using one computer language to write and run a program in another language • Cumulative probability distribution instead of an optimal point using Monte Carlo simulation for a multi-criteria, mixed integer nonlinear programming problem • Global optimization Design vs. Operations • Optimal Design −Uses flowsheet simulators and SQP – Heuristics for a design, a superstructure, an optimal design • Optimal Operations – On-line optimization – Plant optimal scheduling – Corporate supply chain optimization Plant Problem Size Contact Alkylation Ethylene 3,200 TPD 15,000 BPD 200 million lb/yr Units 14 76 ~200 Streams 35 110 ~4,000 Constraints Equality 761 1,579 ~400,000 Inequality 28 50 ~10,000 Variables Measured 43 125 ~300 Unmeasured 732 1,509 ~10,000 Parameters 11 64 ~100 Optimization Programming Languages • GAMS - General Algebraic Modeling System • LINDO - Widely used in business applications
    [Show full text]
  • MIE 1612: Stochastic Programming and Robust Optimization
    MIE 1612: Stochastic Programming and Robust Optimization Fall 2019 Syllabus Instructor: Prof. Merve Bodur Office: BA8106 Office hour: Wednesday 2-3pm (or by appointment) E-mail: [email protected] P.S. Please include course code (MIE 1612) in your email subject TA: Maryam Daryalal Office hour: Monday 2:30-3:30pm, in BA8119 (or by appointment) E-mail: [email protected] P.S. Please include course code (MIE 1612) in your email subject Lectures: Monday 4-6pm (GB119) and Wednesday 1-2pm (GB303) Suggested texts: Lectures on Stochastic Programming { Modeling and Theory, SIAM, Shapiro, Dentcheva, and Ruszczy´nski,2009. Introduction to Stochastic Programming, Springer-Verlag, Birge and Louveaux, 2011. Stochastic Programming, Wiley, Kall and Wallace, 1994. Stochastic Programming, Handbooks in OR and MS, Elsevier, Ruszczy´nskiand Shapiro, 2003. Robust Optimization, Princeton University Press, Ben-Tal, El Ghaoui, and Nemirovski, 2009. Course web pages: Quercus, Piazza Official course description: Stochastic programming and robust optimization are optimization tools deal- ing with a class of models and algorithms in which data is affected by uncertainty, i.e., some of the input data are not perfectly known at the time the decisions are made. Topics include modeling uncertainty in optimization problems, two-stage and multistage stochastic programs with recourse, chance constrained pro- grams, computational solution methods, approximation and sampling methods, and applications. Knowledge of linear programming, probability and statistics are required, while programming ability and knowledge of integer programming are helpful. Prerequisite: MIE262, APS1005 or equivalent, and MIE231, APS106S or equivalent. 1 Overview The aim of stochastic programming and robust optimization is to find optimal decisions in problems which involve uncertain data.
    [Show full text]
  • Pyomo Documentation Release 5.6.2.Dev0
    Pyomo Documentation Release 5.6.2.dev0 Pyomo Feb 06, 2019 Contents 1 Installation 3 1.1 Using CONDA..............................................3 1.2 Using PIP.................................................3 2 Citing Pyomo 5 2.1 Pyomo..................................................5 2.2 PySP...................................................5 3 Pyomo Overview 7 3.1 Mathematical Modeling.........................................7 3.2 Overview of Modeling Components and Processes...........................9 3.3 Abstract Versus Concrete Models....................................9 3.4 Simple Models.............................................. 10 4 Pyomo Modeling Components 17 4.1 Sets.................................................... 17 4.2 Parameters................................................ 23 4.3 Variables................................................. 24 4.4 Objectives................................................ 25 4.5 Constraints................................................ 26 4.6 Expressions................................................ 26 4.7 Suffixes.................................................. 31 5 Solving Pyomo Models 41 5.1 Solving ConcreteModels......................................... 41 5.2 Solving AbstractModels......................................... 41 5.3 pyomo solve Command....................................... 41 5.4 Supported Solvers............................................ 42 6 Working with Pyomo Models 43 6.1 Repeated Solves............................................. 43 6.2 Changing
    [Show full text]
  • Research and Development of an Open Source System for Algebraic Modeling Languages
    Vilnius University Institute of Data Science and Digital Technologies LITHUANIA INFORMATICS (N009) RESEARCH AND DEVELOPMENT OF AN OPEN SOURCE SYSTEM FOR ALGEBRAIC MODELING LANGUAGES Vaidas Juseviˇcius October 2020 Technical Report DMSTI-DS-N009-20-05 VU Institute of Data Science and Digital Technologies, Akademijos str. 4, Vilnius LT-08412, Lithuania www.mii.lt Abstract In this work, we perform an extensive theoretical and experimental analysis of the char- acteristics of five of the most prominent algebraic modeling languages (AMPL, AIMMS, GAMS, JuMP, Pyomo), and modeling systems supporting them. In our theoretical comparison, we evaluate how the features of the reviewed languages match with the requirements for modern AMLs, while in the experimental analysis we use a purpose-built test model li- brary to perform extensive benchmarks of the various AMLs. We then determine the best performing AMLs by comparing the time needed to create model instances for spe- cific type of optimization problems and analyze the impact that the presolve procedures performed by various AMLs have on the actual problem-solving times. Lastly, we pro- vide insights on which AMLs performed best and features that we deem important in the current landscape of mathematical optimization. Keywords: Algebraic modeling languages, Optimization, AMPL, GAMS, JuMP, Py- omo DMSTI-DS-N009-20-05 2 Contents 1 Introduction ................................................................................................. 4 2 Algebraic Modeling Languages .........................................................................
    [Show full text]
  • Notes 1: Introduction to Optimization Models
    Notes 1: Introduction to Optimization Models IND E 599 September 29, 2010 IND E 599 Notes 1 Slide 1 Course Objectives I Survey of optimization models and formulations, with focus on modeling, not on algorithms I Include a variety of applications, such as, industrial, mechanical, civil and electrical engineering, financial optimization models, health care systems, environmental ecology, and forestry I Include many types of optimization models, such as, linear programming, integer programming, quadratic assignment problem, nonlinear convex problems and black-box models I Include many common formulations, such as, facility location, vehicle routing, job shop scheduling, flow shop scheduling, production scheduling (min make span, min max lateness), knapsack/multi-knapsack, traveling salesman, capacitated assignment problem, set covering/packing, network flow, shortest path, and max flow. IND E 599 Notes 1 Slide 2 Tentative Topics Each topic is an introduction to what could be a complete course: 1. basic linear models (LP) with sensitivity analysis 2. integer models (IP), such as the assignment problem, knapsack problem and the traveling salesman problem 3. mixed integer formulations 4. quadratic assignment problems 5. include uncertainty with chance-constraints, stochastic programming scenario-based formulations, and robust optimization 6. multi-objective formulations 7. nonlinear formulations, as often found in engineering design 8. brief introduction to constraint logic programming 9. brief introduction to dynamic programming IND E 599 Notes 1 Slide 3 Computer Software I Catalyst Tools (https://catalyst.uw.edu/) I AIMMS - optimization software (http://www.aimms.com/) Ming Fang - AIMMS software consultant IND E 599 Notes 1 Slide 4 What is Mathematical Programming? Mathematical programming refers to \programming" as a \planning" activity: as in I linear programming (LP) I integer programming (IP) I mixed integer linear programming (MILP) I non-linear programming (NLP) \Optimization" is becoming more common, e.g.
    [Show full text]
  • Methods of Distributed and Nonlinear Process Control: Structuredness, Optimality and Intelligence
    Methods of Distributed and Nonlinear Process Control: Structuredness, Optimality and Intelligence A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF THE UNIVERSITY OF MINNESOTA BY Wentao Tang IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Advised by Prodromos Daoutidis May, 2020 c Wentao Tang 2020 ALL RIGHTS RESERVED Acknowledgement Before meeting with my advisor Prof. Prodromos Daoutidis, I was not determined to do a Ph.D. in process control or systems engineering; after working with him, I could not imagine what if I had chosen a different path. The important decision that I made in the October of 2015 turned out to be most correct, that is, to follow an advisor who has the charm to always motivate me to explore the unexploited lands, overcome the obstacles and make achievements. I cherish the freedom of choosing different problems of interest and the flexibility of time managing in our research group. Apart from the knowledge of process control, I have learned a lot from Prof. Daoutidis and will try my best to keep learning, about the skills to write, present and teach, the pursuit of knowledge and methods with both elegance of fundamental theory and a promise of practical applicability, and the pride and fervor for the undertaken works. \The high hill is to be looked up to; the great road is to be travelled on."1 I want to express my deepest gratitude to him. Prof. Qi Zhang always gives me very good suggestions and enlightenment with his abundant knowledge in optimization since he joined our department.
    [Show full text]
  • Co-Optimization of Transmission and Other Supply Resources
    Co-optimization of Transmission and Other Supply Resources September, 2013 Illinois Institute of Technology Iowa State University Johns Hopkins University Purdue University West Virginia University For EISPC and NARUC Funded by the U.S Department of Energy Co-optimization of Transmission and Other Supply Resources prepared for Eastern Interconnection States’ Planning Council and National Association of Regulatory Utility Commissioners prepared by Dr. Andrew (Lu) Liu, Purdue University Dr. Benjamin H. Hobbs and Jonathan Ho, Johns Hopkins University Dr. James D. McCalley and Venkat Krishnan, Iowa State University Dr. Mohammad Shahidehpour, Illinois Institute of Technology Dr. Qipeng P. Zheng, University of Central Florida Acknowledgement: This material is based upon work supported by the Department of Energy, National Energy Technology Laboratory, under Award Number DE-OE0000316. The project team would like to thank Bob Pauley, Doug Gotham and Stan Hadley as well as the EISPC and NARUC organizations, for their support throughout this project. Patrick Sullivan of NREL provided crucial perspectives, advice, and resources during the project. We would also like to acknowledge inputs on earlier versions of our work by members of NARUC’s Studies and Whitepaper Workgroup. The earlier versions as well benefited from the editorial assistance provided by Jingjie Xiao, a former PhD student with the School of Industrial Engineering at Purdue University, and her generous efforts are greatly appreciated. In addition, the team gratefully acknowledge the generous and timely assistance of several organizations that have provided important background information on transmission planning, including but not limited to: Parveen Baig, Iowa Utilities Board Jaeseok Choi, Gyeongsang National University, South Korea Bruce Fardanesh, New York Power Authority Flora Flydt, ATC Ian Grant, TVA Bruce Hamilton, Smart Grid Network Ben Harrison, Duke Energy Michael Henderson, ISO New England Len Januzik, Quanta Technology David Kelley, SPP Raymond Kershaw, ITC Holdings Corp.
    [Show full text]
  • MODELING LANGUAGES in MATHEMATICAL OPTIMIZATION Applied Optimization Volume 88
    MODELING LANGUAGES IN MATHEMATICAL OPTIMIZATION Applied Optimization Volume 88 Series Editors: Panos M. Pardalos University o/Florida, U.S.A. Donald W. Hearn University o/Florida, U.S.A. MODELING LANGUAGES IN MATHEMATICAL OPTIMIZATION Edited by JOSEF KALLRATH BASF AG, GVC/S (Scientific Computing), 0-67056 Ludwigshafen, Germany Dept. of Astronomy, Univ. of Florida, Gainesville, FL 32611 Kluwer Academic Publishers Boston/DordrechtiLondon Distributors for North, Central and South America: Kluwer Academic Publishers 101 Philip Drive Assinippi Park Norwell, Massachusetts 02061 USA Telephone (781) 871-6600 Fax (781) 871-6528 E-Mail <[email protected]> Distributors for all other countries: Kluwer Academic Publishers Group Post Office Box 322 3300 AlI Dordrecht, THE NETHERLANDS Telephone 31 78 6576 000 Fax 31 786576474 E-Mail <[email protected]> .t Electronic Services <http://www.wkap.nl> Library of Congress Cataloging-in-Publication Kallrath, Josef Modeling Languages in Mathematical Optimization ISBN-13: 978-1-4613-7945-4 e-ISBN-13:978-1-4613 -0215 - 5 DOl: 10.1007/978-1-4613-0215-5 Copyright © 2004 by Kluwer Academic Publishers Softcover reprint of the hardcover 1st edition 2004 All rights reserved. No part ofthis pUblication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photo-copying, microfilming, recording, or otherwise, without the prior written permission ofthe publisher, with the exception of any material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Permissions for books published in the USA: P"§.;r.m.i.§J?i..QD.§.@:w.k~p" ..,.g.Qm Permissions for books published in Europe: [email protected] Printed on acid-free paper.
    [Show full text]