Streamlining of the State-Dependent Riccati Equation Controller Algorithm for an Embedded Implementation

Total Page:16

File Type:pdf, Size:1020Kb

Streamlining of the State-Dependent Riccati Equation Controller Algorithm for an Embedded Implementation Rochester Institute of Technology RIT Scholar Works Theses 11-1-2006 Streamlining of the state-dependent Riccati equation controller algorithm for an embedded implementation Sergey Katsev Follow this and additional works at: https://scholarworks.rit.edu/theses Recommended Citation Katsev, Sergey, "Streamlining of the state-dependent Riccati equation controller algorithm for an embedded implementation" (2006). Thesis. Rochester Institute of Technology. Accessed from This Thesis is brought to you for free and open access by RIT Scholar Works. It has been accepted for inclusion in Theses by an authorized administrator of RIT Scholar Works. For more information, please contact [email protected]. Streamlining of the State-Dependent Riccati Equation Controller Algorithm for an Embedded Implementation by Sergey Katsev A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Engineering Supervised by Associate Professor of Computer Engineering Dr. Juan Cockburn Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology Rochester, New York November 2006 Approved By: Dr. Juan Cockburn Associate Professor of Computer Engineering Primary Adviser Dr. Marcin Lukowiak Assistant Professor of Computer Engineering Dr. Roy S. Czernikowski Professor of Computer Engineering Thesis Release Permission Form Rochester Institute of Technology Kate Gleason College of Engineering Title: Streamlining of State-Dependent Riccati Equation Controllers for an Embedded Implementation I, Sergey Katsev, hereby grant permission to the Wallace Memorial Library reproduce my thesis in whole or part. Sergey Katsev Date Dedication To my grandparents and my mom, who gave up what they had in the Ukraine so that I could make a life for myself in the United States. iii Acknowledgments First, I would like to thank my advisor, Dr. Juan C. Cockburn for being patient and men- toring me through this work. Also I would like to thank my committee, Dr. Roy S. Cz- ernikowski and Dr. Marcin Lukowiak. Many thanks go to the other people and organiza- tions that helped me with technical aspects, in particular David Bishop and other members of the IEEE VHDL-200X Fast Track group and the authors of the LAPACK and SLICOT libraries. I would also like to thank Eric Nelson and John Schnyder for general advice and proofreading. Finally, I would like to thank Dr. Andreas Savakis for giving me the final push I needed. iv Abstract In many practical control problems the dynamics of the plant to be controlled are nonlin- ear. However, in most cases the controller design is based on a linear approximation of the dynamics. One of the reasons for this is that, in general, nonlinear control design methods are difficult to apply to practical problems. The State Dependent Riccati Equation (SDRE) control approach is a relatively new practical approach to nonlinear control that has the sim- plicity of the classical Linear Quadratic control method. This approach has been recently applied to control experimental autonomous air vehicles with relative success. To make the SDRE approach practical in applications where the computational resources are lim- ited and where the dynamic models are more complex it would be necessary to re-examine and streamline this control algorithm. The main objective of this work is to identify im- provements that can be made to the implementation of the SDRE algorithm to improve its performance. This is accomplished by analyzing the structure of the algorithm and the underlying functions used to implement it. At the core of the SDRE algorithm is the solution, in real time, of an Algebraic Riccati Equation. The impact of the selection of a suitable algorithm to solve the Riccati Equation is analyzed. Three different algorithms were studied. Experimental results indicate that the Kleinman algorithm performs better than two other algorithms based on Newton’s method. This work also demonstrates that appropriately setting a maximum number of iterations for the Kleinman approach can improve the overall system performance without degrading accuracy significantly. Finally, a software implementation of the SDRE algorithm was developed and bench- marked to study the potential performance improvements of a hardware implementation. The test plant was an inverted pendulum simulation based on experimental hardware. Bot- tlenecks in the software implementation were identified and a possible hardware design to remove one such bottleneck was developed. v Contents Dedication ...................................... iii Acknowledgments ................................. iv Abstract ....................................... v Glossary ....................................... xi 1 Introduction ................................... 1 1.1 Thesis outline . 5 2 Supporting Work ................................ 7 2.1 Background . 7 2.2 SDRE methodology . 8 2.2.1 Linear Quadratic Regulator [1] . 9 2.2.2 SDRE controller design . 9 2.2.3 SDC parametrization . 12 2.2.4 Selection of Q and R matrices . 13 2.3 The Continuous-Time Algebraic Riccati Equation . 14 2.4 Riccati Equation solution algorithms . 16 2.4.1 Newton algorithm . 17 2.4.2 Newton’s method with Exact Line Search [7] . 18 2.4.3 Kleinman iteration [25, 26] . 19 2.4.4 Schur Decomposition . 20 2.5 Previous SDRE implementations . 21 3 Iterative Method Comparison ......................... 24 3.1 Accuracy analysis . 25 3.2 Speed analysis . 27 3.3 Kleinman maximum iterations . 35 vi 3.3.1 Effect on accuracy . 35 3.3.2 Effect on performance . 37 4 Application: Inverted Pendulum ........................ 42 4.1 Inverted Pendulum SDRE derivation . 42 4.2 Matlab simulation . 46 4.3 Selection of the Q and R matrices . 49 5 SDRE Software Implementation ........................ 56 5.1 Software algorithm design . 56 6 Hardware Co-design .............................. 62 6.1 Design considerations . 64 6.2 dhseqr Hardware components . 67 6.2.1 Validating the design . 72 6.3 Matrix multiplication . 74 6.3.1 Design . 74 6.3.2 Functional results . 75 6.3.3 Synthesis results . 80 6.3.4 Timing results . 81 7 Conclusions ................................... 83 7.1 Future work . 84 A Controllability, stabilizability, observability, detectability [20] ........ 90 A.1 Controllability and stabilizability . 90 A.2 Observability and detectability . 91 A.3 Example . 92 B Software Documentation ............................ 94 B.1 Using runSDRE . 94 B.2 Software functions . 96 B.2.1 I/O functions . 96 B.2.2 Matrix functions . 98 B.2.3 Matrix algebra functions . 99 B.2.4 Debugging functions . 100 B.2.5 Library functions . 101 vii List of Figures 2.1 SDRE Algorithm Diagram . 12 2.2 Pseudo-Code for Newton Algorithm [7] . 17 2.3 Pseudo-Code for Exact Line Search Algorithm . 18 2.4 Pseudo-Code for Kleinman Algorithm . 19 2.5 Pseudo-code for Schur Algorithm [27] . 23 3.1 Iterative method accuracy . 26 3.2 Matlab code for one Kleinman Algorithm iteration . 28 3.3 Matlab code for one Newton Algorithm iteration . 28 3.4 Average iterations to converge to a solution . 30 3.5 Total Newton and Kleinman iterations . 31 3.6 Kleinman and Newton Speed Results with Trend Line . 34 3.7 Effect of Kleinman iterations on number of total algorithm invocations . 36 3.8 Effect of Kleinman iterations on result accuracy . 37 3.9 Kleinman Max Iterations vs. Total Time . 39 3.10 Sample Application Maximum Kleinman Iteration Complexity . 41 4.1 Pendulum Parameters Block Diagram . 43 4.2 Quanser Consulting Inc. Linear Inverted Pendulum [33] . 44 4.3 Inverted Pendulum diagram, including sensor and actuator locations . 45 4.4 Inverted Pendulum Simulink Model . 46 4.5 Inverted Pendulum Models sub-block . 47 4.6 Simulation: Pendulum Angle . 49 4.7 Simulation: Cart Position . 50 4.8 Simulation: Pendulum Control . 51 4.9 Simulation: Pendulum angle at steady state with pulse disturbance . 52 4.10 Simulation: Cart position at steady state with pulse disturbance . 53 4.11 Simulation: Pendulum control action at steady state with pulse disturbance . 54 4.12 Q & R matrix analysis: Angle under-penalization . 54 4.13 Q & R matrix analysis: Angle over-penalization – Pendulum Angle . 55 viii 4.14 Q & R matrix analysis: Angle over-penalization – Cart Position . 55 5.1 High Level Software Data Flow . 57 5.2 Kleinman Algorithm Call Graph . 58 5.3 Schur Algorithm Call Graph . 59 5.4 High Level Software Call Graph . 60 6.1 System Block Diagram . 63 6.2 O(N 2) vs. O(N 3) complexity for low N . 64 6.3 Kleinman algorithm slow functions . 65 6.4 Systolic Array Structure for QR decomposition[16] . 68 6.5 Matlab code for QR iteration . 69 6.6 Hardware Structure for Eigenvalue Module[24] . 71 6.7 Testbench Simulation for QR Iteration Design . 73 6.8 Systolic Array Structure for Matrix Multiplication[24] . 75 6.9 Multiplication Array Testbench Functional Simulation . 76 6.10 Inverted Pendulum Maximum Value . 78 6.11 Software Matrix Multiplication vs. Systolic Array Complexity . 82 B.1 Sample inverted pendulum states input file . 95 B.2 Sample state matrices input file . 96 B.3 Example execution of runSDRE program . 97 ix List of Tables 2.1 CARE solution algorithms summary . 21 2.2 Execution Time Comparisons for Schur and Kleinman Methods . 22 2.3 Previous Work Summary . 23 3.1 Effect of Step Size (t) on Exact Line Search Convergence . 27 3.2 Iterative Method Accuracy Results . 29 3.3 Iterative Method Timing Results (seconds) . 32 3.4 Kleinman iterations timing test . 38 3.5 Maximum Iterations Computation using Equation 3.2 . 40 4.1 Quanser Inverted Pendulum parameters . 46 6.1 Function Execution Time . 66 6.2 Inverted Pendulum Maximum Value . 77 6.3 Multiplication Unit Fraction Precision Results . 80 6.4 Matrix Multiplication Synthesis Results . 81 x Glossary A adaptive control A control technique which involves modifying the control law used to compensate for the fact that the system parameters may be varying or uncertain [17]. affine This term refers to a function with a constant slope. A function is affine if it is equal to a constant plus a linear function of variables [31].
Recommended publications
  • Redacted for Privacy Professor Donald Guthrie, Jr
    AN ABSTRACT OF THE THESIS OF John Anthony Battilega for the DOCTOR OF PHILOSOPHY (Name) (Degree) in Mathematics presented on May 4, 1973 (Major) (Date) Title: COMPUTATIONAL IMPROVEMENTS TO BENDERS DECOMPOSITION FOR GENERALIZED FIXED CHARGE PROBLEMS Abstract approved Redacted for privacy Professor Donald Guthrie, Jr. A computationally efficient algorithm has been developed for determining exact or approximate solutions for large scale gener- alized fixed charge problems. This algorithm is based on a relaxa- tion of the Benders decomposition procedure, combined with a linear mixed integer programming (MIP) algorithm specifically designed to solve the problem associated with Benders decomposition and a com- putationally improved generalized upper bounding (GUB) algorithm which solves a convex separable programming problem by generalized linear programming. A dynamic partitioning technique is defined and used to improve computational efficiency.All component algor- ithms have been theoretically and computationally integrated with the relaxed Benders algorithm for maximum efficiency for the gener- alized fixed charge problem. The research was directed toward the approximate solution of a particular class of large scale generalized fixed charge problems, and extensive computational results for problemsof this type are given.As the size of the problem diminishes, therelaxations can be enforced, resulting in a classical Bendersdecomposition, but with special purpose sub-algorithmsand improved convergence pro- perties. Many of the results obtained apply to the sub-algorithmsinde- pendently of the context in which theywere developed. The proce- dure for solving the associated MIP is applicableto any linear 0/1 problem of Benders form, and the techniquesdeveloped for the linear program are applicable to any large scale generalized GUB implemen- tation.
    [Show full text]
  • Dynamic Functions in Dyalog
    Direct Functions in Dyalog APL John Scholes – Dyalog Ltd. [email protected] A Direct Function (dfn) is a new function definition style, which bridges the gap between named function expressions such as and APL’s traditional ‘header’ style definition. Simple Expressions The simplest form of dfn is: {expr} where expr is an APL expression containing s and s representing the left and right argument of the function respectively. For example: A dfn can be used in any function context ... ... and of course, assigned a name: Dfns are ambivalent. Their right (and if present, left) arguments are evaluated irrespective of whether these are subsequently referenced within the function body. Guards A guard is a boolean-single valued expression followed by . A simple expression can be preceded by a guard, and any number of guarded expressions can occur separated by s. Guards are evaluated in turn (left to right) until one of them yields a 1. Its corresponding expr is then evaluated as the result of the dfn. A guard is equivalent to an If-Then-Else or Switch-Case construct. A final simple expr can be thought of as a default case: The s can be replaced with newlines. For readability, extra null phrases can be included. The parity example above becomes: Named dfns can be reviewed using the system editor: or , and note how you can comment them in the normal way using . The following example interprets a dice throw: Local Definition The final piece of dfn syntax is the local definition. An expression whose principal function is a simple or vector assignment, introduces a name that is local to the dfn.
    [Show full text]
  • Xerox University Microfilms 300 North Zeeb Road Ann Arbor, Michigan 48106 76-15,823
    INFORMATION TO USERS This material was produced from a microfilm copy of the original document. While the most advanced technological means to photograph and reproduce this document have been used, the quality is heavily dependent upon the quality of the original submitted. The following explanation of techniques is provided to help you understand markings or patterns which may appear on this reproduction. 1. The sign or "target" for pages apparently lacking from the document photographed is "Missing Page(s)". If it was possible to obtain the missing page(s) or section, they are spliced into the film along with adjacent pages. This may have necessitated cutting thru an image and duplicating adjacent pages to insure you complete continuity. 2. When an image on the film is obliterated with a large round black mark, it is an indication that the photographer suspected that the copy may have moved during exposure and thus cause a blurred image. You will find a good image of the page in the adjacent frame. 3. When a map, drawing or chart, etc., was part of the material being photographed the photographer followed a definite method in "sectioning" the material. It is customary to begin photoing at the upper left hand corner of a large sheet and to continue photoing from left to right in equal sections with a small overlap. If necessary, sectioning is continued again — beginning below the first row and continuing on until complete. 4. The majority of users indicate that the textual content is of greatest value, however, a somewhat higher quality reproduction could be made from "photographs" if essential to the understanding of the dissertation.
    [Show full text]
  • Ginger Documentation Release 1.0
    Ginger Documentation Release 1.0 sfkl / gjh Nov 03, 2017 Contents 1 Contents 3 2 Help Topics 27 3 Common Syntax 53 4 Design Rationales 55 5 The Ginger Toolchain 83 6 Low-Level Implementation 99 7 Release Notes 101 8 Indices and tables 115 Bibliography 117 i ii Ginger Documentation, Release 1.0 This documentation is still very much work in progress The aim of the Ginger Project is to create a modern programming language and its ecosystem of libraries, documen- tation and supporting tools. The Ginger language draws heavily on the multi-language Poplog environment. Contents 1 Ginger Documentation, Release 1.0 2 Contents CHAPTER 1 Contents 1.1 Overview of Ginger Author Stephen Leach Email [email protected] 1.1.1 Background Ginger is our next evolution of the Spice project. Ginger itself is a intended to be a rigorous but friendly programming language and supporting toolset. It includes a syntax-neutral programming language, a virtual machine implemented in C++ that is designed to support the family of Spice language efficiently, and a collection of supporting tools. Spice has many features that are challenging to support efficiently in existing virtual machines: pervasive multiple values, multiple-dispatch, multiple-inheritance, auto-loading and auto-conversion, dynamic virtual machines, implicit forcing and last but not least fully dynamic typing. The virtual machine is a re-engineering of a prototype interpreter that I wrote on holiday while I was experimenting with GCC’s support for FORTH-like threaded interpreters. But the toolset is designed so that writing alternative VM implementations is quite straightforward - and we hope to exploit that to enable embedding Ginger into lots of other systems.
    [Show full text]
  • Speeches and Papers
    ROOMS 1-2-3 THE IMPACT OF STANDARDIZATION FOR THE 70's (PANEL) ROBERT W. BEMER General Electric Company Phoenix, Arizona CHAIRMAN AND TECHNICAL PROGRAM CHAIRMAN'S MESSAGE , CONFERENCE AWARDS ' - Harry Goode Memorial Award 3 Best Paper Award 3 Best Presentation Award 3 TECHNICAL PROGRAM 4 CONFERENCE-AT-A-GLANCE (Centerfold) 52,53 CONFERENCE LUNCHEON 75 Luncheon Speaker 75 EDUCATION PROGRAM 76 SPECIAL ACTIVITIES 76 Conference Reception 76 Conference Luncheon 76 Computer Science and Art Theater 76 Computer Art Exhibit 77 Computer Music Exhibit 77 Scope Tour 77 LADIES PROGRAM 78 Hospitality Suite 78 Activities 78 GENERAL INFORMATION 79 Conference Location 79 MASSACHUSETTS INSTITUTE OF TECHNOLOGY PROJECT MAC Reply to: Project MAC 545 Technology Square Cambridge, Mass. 02139 June 5, 1969 Telephone: (617 ) 864-6900 x6201 Mr. Robert W. Bemer General Electric Company (C-85) 13430 North Black Canyon Highway Phoenix, Arizona 85029 Dear Bob: Thank you very much for your participation in my panel session at the Spring Joint Computer Conference. On the basis of a number of comments I received from both strangers and friends and also my own assessment, I think we had a successful session. I particularly appreciate your willingness to contribute your time and efforts to discussion of the problems of managing software projects. As I may have told you previously, I have been teaching a seminar on this same subject at M.I.T. A number of my students who attended the session were particularly interested in the presentations by the panelists. I would appreciate it if you could send me copies of your slide material for use in my class.
    [Show full text]
  • 2D3-Induced Genes in Osteoblasts
    THE REGULATION AND FUNCTION OF 1,25-DIHYDROXYVITAMIN D3- INDUCED GENES IN OSTEOBLASTS by AMELIA LOUISE MAPLE SUTTON Submitted in partial fulfillment of the requirements for the Degree of Doctor of Philosophy Advisor: Dr. Paul N. MacDonald Department of Pharmacology CASE WESTERN RESERVE UNIVERSITY August 2005 CASE WESTERN RESERVE UNIVERSITY SCHOOL OF GRADUATE STUDIES We hereby approve the thesis/dissertation of ______________________________________________________ candidate for the ________________________________degree *. (signed)_______________________________________________ (chair of the committee) ________________________________________________ ________________________________________________ ________________________________________________ ________________________________________________ ________________________________________________ (date) _______________________ *We also certify that written approval has been obtained for any proprietary material contained therein. I would like to dedicate this dissertation to my amazing mother. This is the very least I can do to say thank you to the woman who has dedicated her entire life to me. TABLE OF CONTENTS Dedication ii Table of Contents iii List of Tables iv List of Figures v Acknowledgments vii Abstract xiv Chapter I Introduction 1 Chapter II The 1,25(OH)2D3-regulated transcription factor MN1 64 stimulates VDR-medicated transcription and inhibits osteoblast proliferation Chapter III The 1,25(OH)2D3-induced transcription factor 98 CCAAT/enhancer-binding protein-β cooperates with VDR
    [Show full text]
  • FEMA 369 2000 Edition
    Program on Improved Seismic Safety Provisions Of the National Institute of Building Sciences 2000 Edition NEHRP RECOMMENDED PROVISIONS FOR SEISMIC REGULATIONS FOR NEW BUILDINGS AND OTHER STRUCTURES Part 2: Commentary (FEMA 369) The Building Seismic Safety Council (BSSC) was established in 1979 under the auspices of the Na- tional Institute of Building Sciences as an entirely new type of instrument for dealing with the complex regulatory, technical, social, and economic issues involved in developing and promulgating building earth- quake hazard mitigation regulatory provisions that are national in scope. By bringing together in the BSSC all of the needed expertise and all relevant public and private interests, it was believed that issues related to the seismic safety of the built environment could be resolved and jurisdictional problems overcome through authoritative guidance and assistance backed by a broad consensus. The BSSC is an independent, voluntary membership body representing a wide variety of building community interests. Its fundamental purpose is to enhance public safety by providing a national forum that fosters improved seismic safety provisions for use by the building community in the planning, design, construction, regulation, and utilization of buildings. To fulfill its purpose, the BSSC: (1) promotes the development of seismic safety provisions suitable for use throughout the United States; (2) recommends, encourages, and promotes the adoption of appropriate seismic safety provisions in voluntary standards and model codes;
    [Show full text]
  • Computer Science and the Organization of White-Collar Work, 1945-1975
    Post-Industrial Engineering: Computer Science and the Organization of White-Collar Work, 1945-1975 by Andrew Benedict Mamo A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in History in the Graduate Division of the University of California, Berkeley Committee in charge: Professor Cathryn Carson, Chair Professor David Hollinger Professor David Winickoff Spring 2011 Post-Industrial Engineering: Computer Science and the Organization of White-Collar Work, 1945-1975 © 2011 by Andrew Benedict Mamo Abstract Post-Industrial Engineering: Computer Science and the Organization of White-Collar Work, 1945-1975 by Andrew Benedict Mamo Doctor of Philosophy in History University of California, Berkeley Professor Cathryn Carson, Chair The development of computing after the Second World War involved a fundamental reassessment of information, communication, knowledge — and work. No merely technical project, it was prompted in part by the challenges of industrial automation and the shift toward white-collar work in mid-century America. This dissertation therefore seeks out the connections between technical research projects and organization-theory analyses of industrial management in the Cold War years. Rather than positing either a model of technological determinism or one of social construction, it gives a more nuanced description by treating the dynamics as one of constant social and technological co-evolution. This dissertation charts the historical development of what it has meant to work with computers by examining the deep connections between technologists and mid-century organization theorists from the height of managerialism in the 1940s through the decline of the “liberal consensus” in the 1970s. Computing was enmeshed in ongoing debates concerning automation and the relationship between human labor and that of machines.
    [Show full text]
  • Problems of Drug Dependence 1989: Proceedings of the 51St Annual
    National Institute on Drug Abuse MONOGRAPH SERIES Problems of Drug Dependence 1989 Proceedings of the 51st Annual Scientific Meeting The Committee on Problems of Drug Dependence, Inc. U S DEPARTMENT OF HEALTH AND HUMAN SERVICES • Public Health Service • Alcohol, Drug Abuse, and Mental Health Administration Problems of Drug Dependence 1989 Proceedings of the 51st Annual Scientific Meeting The Committee on Problems of Drug Dependence, Inc. Editor: Louis S. Harris, Ph.D. NIDA Research Monograph 95 U.S. DEPARTMENT OF HEALTH AND HUMAN SERVICE Public Health Service Alcohol, Drug Abuse, and Mental Health Administration National Institute on Drug Abuse Off ice of Science 5600 Fishers Lane Rockville, MD 20857 For sale by the Superintendent of Documents, U.S. Government Printing Office Washington, DC 20402 NIDA Research Monographs are prepared by the research divisions of the National Institute on Drug Abuse and published by its Office of Science. The primary objective of the series is to provide critical reviews of research problem areas and techniques, the content of state-of-the-art conferences, and integrative research reviews. Its dual publication emphasis is rapid and targeted dissemination to the scientific and professional community. Editorial Advisors MARTIN W. ADLER, Ph.D. MARY L. JACOBSON Temple University School of Medicine National Federation of Parents for Philadelphia, Pennsylvania Drug-free Youth Omaha, Nebraska SYDNEY ARCHER, Ph.D. Rensselaer Polytechnic Institute Troy, New York REESE T. JONES, M.D. Langley Porter Neuropsychiatric Institute RICHARD E. BELLEVILLE, Ph.D. San Francisco, California NB Associates, Health Sciences Rockville, Maryland DENISE KANDEL, Ph.D. KARST J. BESTEMAN College of Physicians and Surgeons of Alcohol and Drug Problems Association Columbia University of North America New York, New York Washington, D.C.
    [Show full text]
  • Three Implementation Models for Scheme
    Three Implementation Models for Scheme by R. Kent Dybvig A dissertation submitted to the faculty of the University of North Carolina at Chapel Hill in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Computer Science. Chapel Hill 1987 Approved by: Advisor Reader Reader c 1987 R. Kent Dybvig ALL RIGHTS RESERVED R. KENT DYBVIG. Three Implementation Models for Scheme (Under the direc- tion of GYULA A. MAGO.) Abstract This dissertation presents three implementation models for the Scheme Program- ming Language. The first is a heap-based model used in some form in most Scheme implementations to date; the second is a new stack-based model that is consider- ably more efficient than the heap-based model at executing most programs; and the third is a new string-based model intended for use in a multiple-processor im- plementation of Scheme. The heap-based model allocates several important data structures in a heap, including actual parameter lists, binding environments, and call frames. The stack-based model allocates these same structures on a stack whenever possible. This results in less heap allocation, fewer memory references, shorter instruction sequences, less garbage collection, and more efficient use of memory. The string-based model allocates versions of these structures right in the program text, which is represented as a string of symbols. In the string-based model, Scheme programs are translated into an FFP language designed specifically to support Scheme. Programs in this language are directly executed by the FFP machine, a multiple-processor string-reduction computer.
    [Show full text]
  • Measuring Space Systems Flexibility: a Comprehensive Six-Element Framework
    Measuring Space Systems Flexibility: A Comprehensive Six-element Framework by Roshanak Nilchiani M.S. Engineering Mechanics, University of Nebraska-Lincoln, 2002 B.S. Mechanical Engineering, Sharif University of Technology, 1998 SUBMITTED TO THE DEPARTMENT OF AERONAUTICS AND ASTRONAUTICS IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY IN AEROSPACE SYSTEMS AT THE MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 2005 Copyright © 2005 Massachusetts Institute of Technology. All Rights Reserved Author…………………………………………………………….……………………. Space Systems Laboratory, Department of Aeronautics and Astronautics Certified by………………………………………………………………………………. Daniel E. Hastings, Thesis Committee Chair Director, Engineering Systems Division Professor of Engineering Systems and Aeronautics and Astronautics Certified by.…………………………………….…………………….………………… Joseph M. Sussman, Thesis Supervisor Professor of Civil and Environmental Engineering and Engineering Systems Certified by…………………………………………………….………………………… David W. Miller, Thesis Supervisor Associate Professor of Aeronautics and Astronautics Accepted by………………………………………………….………………………………….. Jaime Peraire, Professor of Aeronautics and Astronautics Chair, Committee on Graduate Students 2 Measuring Space Systems Flexibility: A Comprehensive Six-element Framework by Roshanak Nilchiani Submitted To the Department of Aeronautics and Astronautics In Partial Fulfillment of The Requirements For The Degree Of Doctor of Philosophy In Aerospace Systems At the Massachusetts Institute Of Technology Abstract Space systems are extremely delicate and costly engineering artifacts that take a long time to design, manufacture, and launch into space and after they are launched, there is limited access to them. Millions of dollars of space systems assets lost annually, when the space system has failed to meet new market conditions, cannot adapt to new applications, its technology becomes obsolete or when it cannot cope with changes in the environment it operates in.
    [Show full text]
  • Financial Numerical Recipes in C++
    Financial Numerical Recipes in C++. Bernt Arne Ødegaard June 2014 5.1 The interchangeability of discount factors, spot interest rates and forward interest rates . 52 5.2 The term structure as an object . 55 5.2.1 Base class . 55 5.2.2 Flat term structure. 57 5.3 Using the currently observed term structure. 58 5.3.1 Linear Interpolation. 59 5.3.2 Interpolated term structure class. 61 Contents 5.4 Bond calculations with a general term structure and continous compounding . 64 6 The Mean Variance Frontier 67 6.1 Setup . 67 6.2 The minimum variance frontier . 69 1 On C++ and programming. 5 6.3 Calculation of frontier portfolios . 69 1.1 Compiling and linking . 5 6.4 The global minimum variance portfolio . 72 1.2 The structure of a C++ program . 6 6.5 Efficient portfolios . 72 1.2.1 Types . 6 6.6 The zero beta portfolio . 73 1.2.2 Operations . 6 6.7 Allowing for a riskless asset. 73 1.2.3 Functions and libraries . 7 6.8 Efficient sets with risk free assets. 74 1.2.4 Templates and libraries . 7 6.9 Short-sale constraints . 75 1.2.5 Flow control . 8 6.10 The Sharpe Ratio . 75 1.2.6 Input Output . 8 6.11 Equilibrium: CAPM . 76 1.2.7 Splitting up a program . 8 6.11.1 Treynor . 76 1.2.8 Namespaces . 9 6.11.2 Jensen . 76 1.3 Extending the language, the class concept. 9 6.12 Working with Mean Variance and CAPM . 76 1.3.1 date, an example class .
    [Show full text]