INTRODUCTION TO GAMS 1 Daene C. McKinney CE385D Water Resources Planning and Management The University of Texas at Austin

Size: px
Start display at page:

Download "INTRODUCTION TO GAMS 1 Daene C. McKinney CE385D Water Resources Planning and Management The University of Texas at Austin"

Transcription

1 INTRODUCTION TO GAMS 1 Daene C. McKinney CE385D Water Resources Planning and Management The University of Texas at Austin Table of Contents 1. Introduction GAMS Installation GAMS Operation Examples Algebraic Equation Background and GAMS Code What's Going On in the Model? Least Squares Parameter Estimation Background and GAMS Code What's Going On in the Model? A Brief Overview of the GAMS Language Model Structure Sets Scalars, Parameters and Tables Variables Equations Assembling a Model Solving a Model Model Output IF-ELSE Operator References This Introduction to GAMS Modeling benefited from research by Andrey G. Savitsky. The use and distribution of GAMS is made possible by the GAMS Development Corporation ( and it greatly appreciated. 1

2 1. INTRODUCTION The General Algebraic Modeling System (GAMS) facilitates the creation of mathematical models, particularly optimization models, and allows the modeler to build models using the same logical structures as the mathematical equations that need to be solved. In this section, the river basin model described in Annex 3 will be described using the GAMS language to allow users to understand the model and to develop additional models. This section should be supplemented by the official GAMS Guide and Tutorials (Brooke et al., 2006), the monograph on optimization models for water and energy management (McKinney and Savitsky, 2006), and the GAMS website ( 2. GAMS INSTALLATION A. Run setup.exe: Run the file setup.exe directly from the CD. Use the Windows Explorer to browse the CD and double click on the file setup.exe. The setup program will prompt you for the name of the directory in which to install GAMS. Accept the default choice which the install program offers. Then the GAMS software will be installed. B. License file: You will be prompted for a license file during the installation. You do not have one, so choose No when asked if you wish to copy a license file. GAMS will function in demonstration mode and will only solve small problems. 3. GAMS OPERATION A. Start GAMS: Start GAMS by selecting Start All Programs GAMS GAMSIDE from the Windows Desktop 2

3 Figure 1. Starting GAMS. B. Create new GAMS project: To create a new project in GAMS, choose File Project New project from the GAMSIDE. Figure 2. Creating a new project in GAMS. Navigate from My Documents to the C\: drive. Create a new directory by pressing the 3

4 folder icon. Name the new directory C:\Example. Double click on the Example folder. Type Eq1 in the File name box and press Open. Figure 3. Naming a new project in GAMS. The GAMS window should now show the new Shapley.gpr project window. Figure 4. Naming a new project in GAMS. 4

5 C. Create a new GAMS code file: To create a new GAMS code file, select File New from the GAMSIDE. This will create the file Untitled_1.gms in the C:\Example directory. We will then copy the EQ1 GAMS code into this file from a text file. Figure 5. Creating a new GAMS code file. D. Open GAMS code file: Select File Open. Select Text files as the Files of type type. Navigate to the directory where you stored the and open the file EQ1.txt. Click on this files. Now it is automatically copied to GAMS. Figure 6. Opening the EQ1 text file. E. Tabs and Files: Now the window shows that you have two files open. This is indicated by the two Tabs along the top of the window in GAMS. The first tab displays the file Eq1.txt. This file, which we just opened, is shown in the active window. The second tab displays the untitled_1.gms file that we recently created. This is the GAMS Code file that 5

6 we are creating. To move back and forth between the two files, simply click on the appropriate tab at the top of the window. Figure 7. Multiple files open in GAMS. F. Copy text file: Now we will copy all of the text from the Eq1.txt file to the Untitled_1.gms file. Click on the Eq`.txt tab. Click the cursor in the Eq1.txt file window. Select Edit Select All. The entire file should become highlighted. Select Edit Copy. Figure 8. Selecting GAMS code from text file. 6

7 G. Paste into GAMS Code file: Now we will paste the text we just copied into the Untitled_1.gms file. Click the Untitled_1.gms tab. Click the cursor in the Untitled_1.gms file window. Select Edit Paste. Now the text is pasted into the file. Figure 9. Pasting GAMS code into the Untitled_1.gms file. H. Save GAMS Code file: Now we will save the new GAMS code file Untitled_1.gms in the new project directory C:\Example as Eq1.gms. Select File Save As. Navigate to the directory you created earlier: C:\Example. Name the file Untitled_1.gms as Eq1.gms. Save the file Eq1.gms. Figure 10. Saving the new GAMS file Eq1.gms. Now the files Eq1.txt and Eq1.gms are displayed in the window. 7

8 Figure 11. Window showing Eq1.txt and Eq1.gms. I. Run the model: Now we are ready to run the Shapley GAMS model. Press the red arrow button at the top of the GAMSIDE window. Alternatively, you can select File Run from the main menu Figure 12. Running the GAMS model. J. GAMS Model Results: The results should appear as below. There are two windows displayed by GAMS now. One is titled No active process and this window displays all of 8

9 the control commands and information that were produced by GAMS when it ran the model. The most important information is the line that reads Optimal Solution., which indicates to us that the model was solved successfully. Figure 13. Control screen from running the GAMS model. K. Viewing the GAMS model results: Near the bottom of this window, there is a line that reads: Putfile result C:\Example\Eq1.txt. The file Eq1.txt now contains the GAMS model results. Double clicking on this line will open the results file automatically in another window. Figure 14. Viewing GAMS model results. 9

10 L. Rerunning the model: You can make modifications to the Eq1 GAMS model and rerun the model to see the results of your changes. Select the Eq1.gms tab. Make your changes to the GAMS code in that window. Press the red arrow button at the top of the GAMSIDE window or select File Run from the main menu. Once the model is finished running, you will see the same window as in Figure 12 and you can again double click on the line with the name of the output file to display the new results. When you do this you will be asked if you want to Reload the Results. Select Yes. Figure 14. Rerunning the model. or Figure 15. Reloading the results. M. Exiting and Restarting GAMS: Select: File Exit to quit the GAMS program. When you restart GAMS, you will be returned to the place where you exited the program. 10

11 f1(x), f2(x), f1(x)-f2(x) 4. EXAMPLES 4.1. Algebraic Equation Background and GAMS Code The problem is to find the roots of the following nonlinear equation: (10x 2 10x 10) ( 10x 100) 0 One can see the roots in the following graph: f1(x) f2(x) f1(x)-f2(x) 10x 2 +10x x x 2 +10x +10-(-10x+100) x The GAMS code is: VARIABLES x, e, obj; EQUATIONS Eq1, Objective; Eq1.. e =E= 10*x*x+10*x+10-(-10*x+100); 11

12 Objective.. obj =E= e*e; MODEL Eq /ALL/ SOLVE Eq USING NLP MINIMIZING obj; FILE res /Eq1.txt/ PUT res; put "Solution x = ", put x.l, put /; The steps to enter this model into the GAMS/IDE are shown in the file Introduction to GAMS.pdf What's Going On in the Model? A. VARIABLES Variables can be zero-dimensional or multidimensional. The dimensions are determined by the availability and number of indices. The declaration of variables is based on the following principle. For example, consider the variables from the nonlinear equation model presented above: VARIABLES x, e, obj; These are all aero-dimensional (scalar) variables. All these variables are allowed to take on any vales, positive or negative. Variables are included in equations along with parameters and constants. Variables are always defined in the solution process. B. EQUATIONS The block of equations in GAMS models consists of two parts: 1. Declaration The syntax of declaring equation names is as follows: EQUATION name comment ; EQUATION is a keyword which must appear before the name of each equation if there is semicolon at the end of the line. It is used only once at the beginning of a list of equation names. The name of an equation may include no more than 10 symbols and must always begin with a letter. Consider the equation declaration in the model above EQUATIONS Eq1, Objective; This declares two scalar equations, the first equation is named Eq1 and the second objective. 12

13 2. Definition The definition of equations is where the mathematical form of the model is defined. The syntax for defining equations in GAMS is as follows: name.. expression; name is the name of the equation as previously defined in the list of declared equation names, then two periods.. follow separating the name of the equation and the mathematical expression (algebraic statement) of the equation. The equation must contain a relation operator, such as: =E= (equality) =G= (greater than or equal to) =L= (less than or equal to) Again, consider the equations from the model above Eq1.. e =E= 10*x*x+10*x+10-(-10*x+100); Objective.. obj =E= e*e; C. MODEL After all the VARIABLES and EQUATIONS of a model have been declared, a system (called a MODEL) can be formed from the equations and given a name. When all the declared equations are included in the model, the syntax of declaring the model is as follows: MODEL name comment /ALL/; For example: MODEL Eq /ALL/ The model is named "Eq", and the keyword ALL means that the model includes all of the equations. D. SOLVE Once a model has been defined, the next step is to solve it. This is ordered by including a SOLVE statement in the model. Consider the example of the river system management model in Section 3.3 SOLVE Eq USING NLP MINIMIZING obj; The SOLVE statement contains 6 parts: 1. The keyword SOLVE; 2. The previously defined name of the model (Eq); 3. The keyword USING; 13

14 4. The type of solver to use in the solution (NLP in this case since the model is nonlinear); 5. The keyword MINIMIZING; and 6. The name of a scalar variable (obj in this case) to be optimized. E. OUTPUT GAMS allows writing information about the model and its solution to text files. In addition, a text output file model_name.lst will always be produced. This file is created automatically, but its format is not entirely useful for analysis purposes. The following is the full syntax for defining output text files FILE pointer comments / filename / where FILE is a keyword used to define files; pointer is a pointer to direct output to the external text file filename; filename is an external text file which receives the output. Consider the example above FILE res /Eq1.txt/ where res is the pointer to the output file; and Eq1.txt is the output file. The PUT operator is used to write information into the output file. Consider the example: PUT put "Solution x = ", put x.l, put /; res; This example shows how the pointer res is associated with the output file Eq1.txt. In the first line, the output is directed into this file. In the next line, some text and the value (level) of the variable x is inserted into the file. 14

15 4.2. Least Squares Parameter Estimation Background and GAMS Code Independent variables (x 1, x 2, x 3 ) are related to the dependent variable (y) through the following function 2 2 B C y( t) y( t) Ax1 ( t) e x3( t) x2( t) where A, B, and C are unknown coefficients. Data have been observed at times t on the variables x 1 (t), x 2 (t), x 3 (t), and y(t). The measured values of y are designated as yˆ ( t) The residual between the model value and the observed value is e( t) y( t) yˆ( t) Numerical values of the coefficients are to be be determined by minimizing the squared residuals Minimize e( t) y( t) yˆ( t) t 1 t 1 In this case we need to introduce the notion of sets and parameters into the GAMS model. Sets are a way of defining indices in GAMS and we need one for time in this problem. Consider the following model developed in the GAMS language: SETS t / 1, 2, 3, 4, 5, 6, 7, 8 /; PARAMETER x1(t) /1 2, 2 3, 3 3, 4 3, 5 5, 6 5, 7 6, 8 7/; PARAMETER x2(t) /1 30, 2 60, 3 70, 4 60, 5 80, 6 90, 7 100, 8 100/; PARAMETER x3(t) /1 1, 2 6, 3 7, 4 3, 5 5, 6 9, 7 8, 8 17/; PARAMETER y_hat(t) /1 10, 2 20, 3 30, 4 20, 5 40, 6 50, 7 60, 8 70/; VARIABLES a, b, c, y(t), e(t), obj; EQUATION mod(t), residual(t), objective; mod(t).. a*x1(t)*x1(t)-b/x3(t)-c/x2(t)+exp(-y(t)*y(t)) =E= y(t); residual(t).. e(t) =E= y(t)-y_hat(t); objective.. obj=e=sum(t,power(e(t),2)); MODEL Leastsq / ALL /; SOLVE Leastsq USING NLP MINIMIZING obj; FILE res /Eq2.txt/ PUT res; 15

16 PUT "t x1(t) x2(t) x3(t) y(t) y_hat(t)"/; LOOP(t, PUT t.tl, x1(t), x2(t), x3(t), y.l(t), y_hat(t)/;); PUT /" a b c"/; PUT a.l, b.l, c.l; The steps to enter this model into GAMS and solve it are as follows: 1. Use the same subdirectory Example on the c:/ drive of your computer as you created in the previous example. 2. In GAMS, create a new project named Eq2. 3. Within this new project create a new GAMS file named Eq2.gms. 4. Open the file EQ1.txt and copy and paste the GAMS code into the new file Eq2.gms and save it in the "Example" directory. 5. Run the "Eq2.gms" model to ensure that it is working and examine the results file "Eq2.txt" What's Going On in the Model? A. SETS SETS, the equivalent of indices in a typical programming language, are used to make connections between variables and equations in models. In the model above, a SET is used to denote the number of the measurements: SETS t / 1, 2, 3, 4, 5, 6, 7, 8 /; B. PARAMETERS Digital data are contained in arrays (zero, scalar, or multidimensional matrices called parameters in GAMS). The SETs, described above, can play the role of indices for these arrays. To declare an array to contain data values, we use the functional words: SCALAR PARAMETER TABLE (zero-dimensional), (one-dimensional), and (multidimensional). Parameters are declared in a free format with the following general structure Parameter a(i,j) input-output matrix where Parameter data-type-keyword (required) 16

17 a identifier (required) (i,j) domain list (optional) input-output matrix text (optional) Scalars are defined similarly but without the domain list. Tables are simply multi-dimensional versions of parameters. For example, in the model above parameters are used to store the measurements: PARAMETER x1(t) /1 2, 2 3, 3 3, 4 3, 5 5, 6 5, 7 6, 8 7/; C. LOOPS The LOOP operator is often used with the PUT operator for printing out and displaying information on the screen or in files. The operator has the following syntax: For example LOOP (control_ area operator [; operator]); LOOP(t, PUT t.tl, x1(t), x2(t), x3(t), y.l(t), y_hat(t)/;); 5. A BRIEF OVERVIEW OF THE GAMS LANGUAGE 5.1. Model Structure GAMS models have a structure shown in Table 1. Using the GAMS Integrated Design Environment (GAMS-IDE, a graphic user interface for creating and running GAMS models), a GAMS model is prepared in text form in a file with the extension.gms. During model execution, information is displayed on the screen in the GAMS interface related to the compilation and solution characteristics and progress. The results of the model and computations are automatically sent to a special "LIST" file with the same name as the model file, but with an extension.lst. In addition, as discussed below, the user can program output to be directed to separate output files. 17

18 Table 1. Structure of a GAMS Model. 1. SETS Structures consisting of indices or names 2. DATA SCALARS (zero-dimentional), PARAMETERS (one-dimentional), and TABLES (multi-dimensional) Determination of values of input parameters 3. VARIABLES Variables or arrays of variables Declaration with assigning a type of variable Declaration of limits for possible changes, initial level 4. EQUATIONS Equations or complexes and arrays of equations (includes both declaration and definition) 5. MODEL Model declaration (which equations to include) 6. SOLVE Method of solution (which algorithm to use) 7. OUTPUT Output of information to files 5.2. Sets SETS are a major item in the GAMS language. SETS can be used to construct connections between variables and equations in models. SETS are the equivalent of indices in a typical programming language. Numerical values or text values can be used as indices, e.g., 1, 2, 3 can be used or first, second, etc. A set name must begin with either a letter or a digit, but the next symbol can be a letter, digit or the marks + and -. For example: SET t Months /Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec/; where the set is named t, the word Months is descriptive text to identify the purpose of the set, and the values contained between the / symbols are the indices or elements of the set. The elements in a SET are numbered sequentially or instance here, Feb is second element and Sep is the ninth element of the set. Elements of a set are separated by commas. LAG and LEAD operators are used to relate an element of a set with the next or preceding 18

19 element of the set. In circular LAG and LEAD operators (++, --), after the final element of the set, the first is repeated again. Sometimes this can be useful in reservoir modeling, especially if one wants the beginning values of variables in a time period (say, one year) to be the same as the ending values. Linear LAG and LEAD operators (+, -) are very convenient for modeling time periods that are not cycled. For example, if the initial value of reservoir storage over a time period is not to be identical to the final value. It is unlikely that the initial storage of a large, multi-year storage reservoir will be identical to its ending storage. As an example, consider the basic reservoir volume balance equation St St 1 Qt Rt beg _ S Qt Rt t 2,... T t 1 where S t and S t-1 are the storage in a reservoir at the end and beginning of a time period, respectively, Q t is the inflow to the reservoir during period t, and R t is the reservoir release during period t. Here we can write the equation in general, for all elements of the set t=1,2,, using a single equation and making special provision for the first month: S(t) =E= beg_s$(ord(t) EQ 1) + S(t-1)$(ord(t) GT 1) + Q(t) - R(t); If we do not want the starting and ending storage values to be identical, we need to specify a starting value for the previous month s storage when we write the equation for January, since t- 1 is undefined when the equation is written for t = 1 (i.e., Jan). In this case, when t = 1, the initial storage (beg_s) of the reservoir is used in the balance equation, but when the index t > 1 the variable storage is used in the calculation. The ordinal (ord) operator is used in this equation to return an ordinal of t for a specific instance of the equation. In the equation above, we have used the conditional ($) operator which provides the ability modify equations according to logical conditions. The general format of the operator is item$(condition) 19

20 This is understood to mean "fulfill the item if the condition is true". So in our reservoir storage equation example, the $ operator is operating on the conditions ord(t) EQ 1 and ord(t) GT 1. Thus, in the first case, if t takes on the value of the first element in the set, the value beg_s is added to the equation, otherwise it is skipped. In the second case, it means that if t takes on any value of the set greater than the first value, then S(t-1) is added to the equation, otherwise it is skipped Scalars, Parameters and Tables Data in GAMS models are contained in arrays (zero-, one-, or multi-dimensional matrices called scalars, parameters, and tables). SETs can play the role of indices for these arrays. An example of declaring a scalar and assigning a value to it is: SCALAR beg_s Beginning Storage of Reservoir (million m3) /14000/ where the scalar is beg_s and its value is All of the text between beg_s and is simply documentation of the purpose of the scalar. An example of declaring a parameter and assigning values to all of its elements is the reservoir inflow in a river basin model. This can be written in one of two ways: or PARAMETER Q(t) inflow to Reservoir A (million m3) /Jan 236, Feb 284, Mar 315, Apr 445, May 1388, Jun 2306, Jul 2749, Aug 1538, Sep 676, Oct 497, Nov 394, Dec 391/; PARAMETER Q(t) inflow to Reservoir A (million m3) / Jan 236 Feb 284 Mar 315 Apr 445 May 1388 Jun 2306 Jul 2749 Aug 1538 Sep

21 Oct 497 Nov 394 Dec 391 /; Often the second method is preferred since this facilitates cutting and pasting from spreadsheets Variables There are five types of variables that can be used in GAMS models: VARIABLE - Can take on any real values; POSITIVE VARIABLE - Can take on only positive real values; NEGATIVE VARIABLES - Can take on only negative real values; INTEGER VARIABLES - Can take on only integer values; and BINARY VARIABLES - Can take on only the integer values 0 and 1 Variables can be zero- or multi-dimensional. The dimensions are determined by the number of indices used in the definition of the variable. For example, consider the following variable declaration statement for the zero-dimensional (scalar) objective function value a model: VARIABLE obj Objective function value ($); Everything after the variable obj is documentation to explain the purpose of the variable. An example of a positive one-dimensional (vector) variable declaration is the reservoir storage value from a river basin model: POSITIVE VARIABLE S(t) Storage in Reservoir (million m3) The variable S is defined over the range of the set t. That is, is has elements for all the members of the index set. In this case S(t) is declared to be a positive variable, since we do not want to allow negative storage volumes and this saves us having to make specific lower bond declarations for the variables. Boundaries can be defined for variables with the help of specific suffixes. For example, in the 21

22 river basin model, several bounds on storage are set: S.UP(t) = K; S.LO(t) = S_min; S.LO('Dec') = end_s; The first example defines the maximum storage allowed in the reservoir (its capacity ), hence the use of the suffix.up ; the second defines the minimum storage volume allowed in the reservoir (known as dead storage), hence the use of the suffix.lo ; and the third defines the volume at the end of the year Equations Equations are defined in two parts in GAMS models: (1) Declaration of the names of equations; and (2) Definition of the equation structure. An example of declaring equations names is: EQUATIONS Res_balance(t) objective Reservoir mass balance Objective Function; Note that the first equation is declared to have the name Res_balance and GAMS will create an instance of the equation for each member of the set t, that is, it is a vector equation. The second equation objective is a scalar equation and only one instance of this equation is created by GAMS. The name of an equation must begin with a letter and contain less than 10 symbols. The definition of the structure of an equation follows the syntax: Equation_name.. expression1 =operator= expression2; First, we have the name of the equation (Equation_name) as declared in the list of equation names, then two periods.. separate the name of the equation and the mathematical definition of the equation structure. The expression of the equation is an algebraic statement using allowed GAMS algebraic operations. The equation must contain a GAMS relation operator, and these 22

23 are: =E= =G= =L= right hand side is equal to the left hand side; right hand side is greater than or equal to the left hand side; and right part is less than or equal to the left hand side An example of an equation definition from a river basin model is: Res_balance(t).. S(t) =E= beg_s$(ord(t) EQ 1) + S(t-1)$(ord(t) GT 1) + Q(t) - R(t); Equations can be continued over as many lines as necessary and they end with a semicolon. This equation is written in the same manner as we would write the mathematical equation. GAMS will include an instance of the equation for each element of the set t. An example of an equation using the less than or equal to relation operator is: LimitB(t).. D(t) =L= alpha*r(t); This equation sets the upper limit of water diversion in a model to be less than or equal to the flow in the river R(t) times the fraction alpha of the flow that is allowed to be diverted (the remaining portion being available to downstream users) Assembling a Model After the SETS, PARAMETERS, VARIABLES, and EQUATIONS of a model have been declared a system (called a MODEL) can be formed from a collection of equations and given a name. When all of the declared equations are included in the model, the syntax of declaring the model is as follows (Note this is the usual situation): MODEL name comment /ALL/; 23

24 For example: MODEL Reservoir / ALL /; The model is named "Reservoir", and the keyword ALL means that the model includes all of the equations. Sometimes, the user may want to create numerous variants of equations and unite them in groups, forming different models with distinct names and they may have various optimization objectives Solving a Model Once a model has been defined, the next step is to solve it. This is ordered by including a SOLVE statement in the model. Consider the following example: SOLVE Reservoir USING NLP MAXIMIZING obj; The SOLVE statement contains several parts: The keyword SOLVE; The previously defined name of the model (Reservoir in our example); The keyword USING; The type of solver to use in the solution (NLP or nonlinear programming, in this case). The keyword MAXIMIZING (in out case, but other models will use MINIMIZING); and The name of a scalar variable (obj in this case) to be optimized 5.8. Model Output The GAMS software can write information about the model and its solution to text files. The syntax for defining output text files is: FILE pointer_name comments / external_filename / 24

25 where FILE is a keyword used to define files; pointer_name is a pointer used by GAMS model to direct output to the external text file external_ filename; and external_filename is an external text file which receives the output from GAMS. In a river basin model, we may have FILE result /Basin_Results.txt/; PUT result where result is a pointer to the external file named Basin_Results.txt that will receive the model output. The pointer to the output file is named result in the model and it directs information into the file Basin_Result.txt. The PUT operator is used for both assigning the name of the current_file to a declared text file and writing information into this file. This example shows how the pointer res is associated with the external text file Basin_Result. Then, the output is directed into the file associated with the pointer result. Consider the following Put statements that occur later on in the river basin model: PUT /"Weights "; PUT /" wa = ", wa:7:3 PUT /" wb = ", wb:7:3; PUT /" wc = ", wc:7:3/; In the first line, some text (Weights) is inserted into the file. Then, the values of the objective function weights are written to the file preceded by text stating what each value corresponds to and the format for printing (field seven spaces wide with three places to the right of the decimal point). Sometimes, it is necessary to output the value of parameters or tables. This usually requires the use of the LOOP function. Consider the following example: PUT /"Reservoir (Mm3)"; PUT /" Storage Input Release "; PUT /"Initial ", beg_s:9:0/; LOOP(t,PUT t.tl, S.L(t):9:0, Q(t):9:0, R.L(t):9:0/;); 25

26 The first line prints a title for the table, and then, on the second line, a header at the top of the table. The third line prints the initial value of storage used in the calculation. The fourth line loops over all the elements of the set t and prints the value of t, S(t), Q(t), and R1(t). Note that the variables S(t) and R(t) need the suffix.l, but the parameter Q(t) does not. This is because Q(t) is a defined data value whose level is not determined by GAMS. However, the others are variables and their levels are determined in the solution process IF-ELSE Operator The IF-ELSE operator is useful for transferring from one operator to another. In some cases, it can be written down as a set of $ conditions. The IF operator can be used for making GAMS code more understandable. The optional "ELSE" part allows formulating the traditional construction "IF-THEN-ELSE". The following syntax is for the "IF-THEN-ELSE" operator: if (condition, operators; {condition ELSEIF, operators} [operators ELSE;] ); Note, the braces and brackets are not required, but can be used. "Condition" means logical conditions described in the paragraph on conditional operations of GAMS. Declaration or definition of equations can not be performed within the IF operator. Consider the following expressed through the IF-ELSEIF-ELSE operators: IF (f <= 0, p(i) = -1; 26

27 q(j) = -1; ELSEIF ((f > 0) AND (f < 1)), p(i) = p(i)**2; q(j) = q(j)**2; ELSE p(i) = p(i)**3; q(j) = q(j)**3; ); REFERENCES Brooke, A., D. Kendrick, A. Meeraus, and R. Raman (2006). GAMS Language Guide. Gams Development Corporation. Washington D.C. McKinney, D.C., and A. Savitsky, Basic Optimization Models for Water and energy management, Technical Report, Center for Research in Water Resources, University of Texas at Austin,

Computer Laboratories: Mathematical Formulation and Implementation in GAMS. S. Vitali Charles University. 3/15/2017 Copyright 2017 S.

Computer Laboratories: Mathematical Formulation and Implementation in GAMS. S. Vitali Charles University. 3/15/2017 Copyright 2017 S. Computer Laboratories: Mathematical Formulation and Implementation in GAMS 1 S. Vitali Charles University 3/15/2017 Copyright 2017 S. Vitali 1 3/15/2017 1.2 GAMS General Algebraic Modeling System: language

More information

2 Introduction to GAMS

2 Introduction to GAMS 2 Introduction to GAMS 2.1. Introduction GAMS stands for General Algebraic Modeling System. It is a software package for: - Designing and - Solving various types of models. Originally developed by a group

More information

Introduction to MATLAB

Introduction to MATLAB Chapter 1 Introduction to MATLAB 1.1 Software Philosophy Matrix-based numeric computation MATrix LABoratory built-in support for standard matrix and vector operations High-level programming language Programming

More information

OUTLINES. Variable names in MATLAB. Matrices, Vectors and Scalar. Entering a vector Colon operator ( : ) Mathematical operations on vectors.

OUTLINES. Variable names in MATLAB. Matrices, Vectors and Scalar. Entering a vector Colon operator ( : ) Mathematical operations on vectors. 1 LECTURE 3 OUTLINES Variable names in MATLAB Examples Matrices, Vectors and Scalar Scalar Vectors Entering a vector Colon operator ( : ) Mathematical operations on vectors examples 2 VARIABLE NAMES IN

More information

INFORMATION TECHNOLOGY SPREADSHEETS. Part 1

INFORMATION TECHNOLOGY SPREADSHEETS. Part 1 INFORMATION TECHNOLOGY SPREADSHEETS Part 1 Page: 1 Created by John Martin Exercise Built-In Lists 1. Start Excel Spreadsheet 2. In cell B1 enter Mon 3. In cell C1 enter Tue 4. Select cell C1 5. At the

More information

Notes Lesson 3 4. Positive. Coordinate. lines in the plane can be written in standard form. Horizontal

Notes Lesson 3 4. Positive. Coordinate. lines in the plane can be written in standard form. Horizontal A, B, C are Notes Lesson 3 4 Standard Form of an Equation: Integers Ax + By = C Sometimes it is preferred that A is Positive All lines in the plane can be written in standard form. Oblique Coordinate Horizontal

More information

Stream Depletion Factor Model SDF View

Stream Depletion Factor Model SDF View Stream Depletion Factor Model SDF View User Manual - Version 1.2 Developed for the South Platte Advisory Committee by the Integrated Decision Support Group (IDS) at Colorado State University User Manual

More information

GAMS READER Introduction For what type of problems can GAMS be used? 1.3. GAMS Statement Formats

GAMS READER Introduction For what type of problems can GAMS be used? 1.3. GAMS Statement Formats GAMS READER 1.1. Introduction GAMS is a software package to solve systems of equations. GAMS stands for General Algebraic Modelling System and is constructed by the GAMS Development Corporation. GAMS contains

More information

Oxford Scientific Software Ltd

Oxford Scientific Software Ltd Oxford Scientific Software Ltd 14 Quarry Road, Oxford, OX3 8NU Tel: +44 (0) 1865 766094 Fax: +44 (0) 1865 766091 Email: support@oxscisoft.com Aquator Version 4.3 This version of Aquator adds a significant

More information

Technical Documentation Version 7.2 Multiple Run Management

Technical Documentation Version 7.2 Multiple Run Management Technical Documentation Version 7.2 Multiple Run Management These documents are copyrighted by the Regents of the University of Colorado. No part of this document may be reproduced, stored in a retrieval

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB 1 Introduction to MATLAB A Tutorial for the Course Computational Intelligence http://www.igi.tugraz.at/lehre/ci Stefan Häusler Institute for Theoretical Computer Science Inffeldgasse

More information

MATLAB Project: Getting Started with MATLAB

MATLAB Project: Getting Started with MATLAB Name Purpose: To learn to create matrices and use various MATLAB commands for reference later MATLAB built-in functions used: [ ] : ; + - * ^, size, help, format, eye, zeros, ones, diag, rand, round, cos,

More information

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Dr. Marenglen Biba (C) 2010 Pearson Education, Inc. All rights reserved. Java application A computer program that executes when you use the java command to launch the Java Virtual Machine

More information

JME Language Reference Manual

JME Language Reference Manual JME Language Reference Manual 1 Introduction JME (pronounced jay+me) is a lightweight language that allows programmers to easily perform statistic computations on tabular data as part of data analysis.

More information

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments.

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments. Java How to Program, 9/e Education, Inc. All Rights Reserved. } Java application programming } Use tools from the JDK to compile and run programs. } Videos at www.deitel.com/books/jhtp9/ Help you get started

More information

Similarly, example of memory address of array and hash are: ARRAY(0x1a31d44) and HASH(0x80f6c6c) respectively.

Similarly, example of memory address of array and hash are: ARRAY(0x1a31d44) and HASH(0x80f6c6c) respectively. Lecture #9 What is reference? Perl Reference A Perl reference is a scalar value that holds the location of another value which could be scalar, arrays, hashes, or even a subroutine. In other words, a reference

More information

MATLAB The first steps. Edited by Péter Vass

MATLAB The first steps. Edited by Péter Vass MATLAB The first steps Edited by Péter Vass MATLAB The name MATLAB is derived from the expression MATrix LABoratory. It is used for the identification of a software and a programming language. As a software,

More information

Kenora Public Library. Computer Training. Introduction to Excel

Kenora Public Library. Computer Training. Introduction to Excel Kenora Public Library Computer Training Introduction to Excel Page 2 Introduction: Spreadsheet programs allow users to develop a number of documents that can be used to store data, perform calculations,

More information

ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah)

ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah) Introduction ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah) MATLAB is a powerful mathematical language that is used in most engineering companies today. Its strength lies

More information

Variables are used to store data (numbers, letters, etc) in MATLAB. There are a few rules that must be followed when creating variables in MATLAB:

Variables are used to store data (numbers, letters, etc) in MATLAB. There are a few rules that must be followed when creating variables in MATLAB: Contents VARIABLES... 1 Storing Numerical Data... 2 Limits on Numerical Data... 6 Storing Character Strings... 8 Logical Variables... 9 MATLAB S BUILT-IN VARIABLES AND FUNCTIONS... 9 GETTING HELP IN MATLAB...

More information

This report is based on sampled data. Jun 1 Jul 6 Aug 10 Sep 14 Oct 19 Nov 23 Dec 28 Feb 1 Mar 8 Apr 12 May 17 Ju

This report is based on sampled data. Jun 1 Jul 6 Aug 10 Sep 14 Oct 19 Nov 23 Dec 28 Feb 1 Mar 8 Apr 12 May 17 Ju 0 - Total Traffic Content View Query This report is based on sampled data. Jun 1, 2009 - Jun 25, 2010 Comparing to: Site 300 Unique Pageviews 300 150 150 0 0 Jun 1 Jul 6 Aug 10 Sep 14 Oct 19 Nov 23 Dec

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Introduction MATLAB is an interactive package for numerical analysis, matrix computation, control system design, and linear system analysis and design available on most CAEN platforms

More information

EES Program Overview

EES Program Overview EES Program Overview EES (pronounced 'ease') is an acronym for Engineering Equation Solver. The basic function provided by EES is the numerical solution of a set of algebraic equations. EES can also be

More information

Section 1.2: What is a Function? y = 4x

Section 1.2: What is a Function? y = 4x Section 1.2: What is a Function? y = 4x y is the dependent variable because it depends on what x is. x is the independent variable because any value can be chosen to replace x. Domain: a set of values

More information

Laboratory 1 Octave Tutorial

Laboratory 1 Octave Tutorial Signals, Spectra and Signal Processing Laboratory 1 Octave Tutorial 1.1 Introduction The purpose of this lab 1 is to become familiar with the GNU Octave 2 software environment. 1.2 Octave Review All laboratory

More information

SAS Scalable Performance Data Server 4.3

SAS Scalable Performance Data Server 4.3 Scalability Solution for SAS Dynamic Cluster Tables A SAS White Paper Table of Contents Introduction...1 Cluster Tables... 1 Dynamic Cluster Table Loading Benefits... 2 Commands for Creating and Undoing

More information

History. used in early Mac development notable systems in Pascal Skype TeX embedded systems

History. used in early Mac development notable systems in Pascal Skype TeX embedded systems Overview The Pascal Programming Language (with material from tutorialspoint.com) Background & History Features Hello, world! General Syntax Variables/Data Types Operators Conditional Statements Functions

More information

ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu

ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu 0. What is MATLAB? 1 MATLAB stands for matrix laboratory and is one of the most popular software for numerical computation. MATLAB s basic

More information

Getting started with Hydra Modeller

Getting started with Hydra Modeller Getting started with Hydra Modeller Download Installation Hydra Modeller Basics Logging in Installing a template Building a network manually Importing a pre-defined network Setting GIS Layers Managing

More information

CE 385 D. Water Resources Planning and Management. River Basin Simulation Tutorial. Samuel Sandoval Solis, M.S. and.

CE 385 D. Water Resources Planning and Management. River Basin Simulation Tutorial. Samuel Sandoval Solis, M.S. and. CE 385 D Water Resources Planning and Management River Basin Simulation Tutorial Samuel Sandoval Solis, M.S. and Daene C. McKinney, Ph.D., PE September, 2009 (Revised January, 2011) CENTER FOR RESEARCH

More information

EECS2301. Example. Testing 3/22/2017. Linux/Unix Part 3. for SCRIPT in /path/to/scripts/dir/* do if [ -f $SCRIPT -a -x $SCRIPT ] then $SCRIPT fi done

EECS2301. Example. Testing 3/22/2017. Linux/Unix Part 3. for SCRIPT in /path/to/scripts/dir/* do if [ -f $SCRIPT -a -x $SCRIPT ] then $SCRIPT fi done Warning: These notes are not complete, it is a Skelton that will be modified/add-to in the class. If you want to us them for studying, either attend the class or get the completed notes from someone who

More information

ECE Lesson Plan - Class 1 Fall, 2001

ECE Lesson Plan - Class 1 Fall, 2001 ECE 201 - Lesson Plan - Class 1 Fall, 2001 Software Development Philosophy Matrix-based numeric computation - MATrix LABoratory High-level programming language - Programming data type specification not

More information

Chapter 1: An Overview of MATLAB

Chapter 1: An Overview of MATLAB Chapter 1: An Overview of MATLAB MATLAB is: A high-level language and interactive environment for numerical computation, visualization, and programming MATLAB can: Be used as a calculator, easily create

More information

MATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED. Christian Daude 1

MATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED. Christian Daude 1 MATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED Christian Daude 1 Introduction MATLAB is a software package designed to handle a broad range of mathematical needs one may encounter when doing scientific

More information

Constrained Optimization Unconstrained Optimization

Constrained Optimization Unconstrained Optimization Athena A Visual Studio Nonlinear Optimization Tutorial Start Athena Visual Studio The basic elements of an From the File menu select New. optimization problem are listed You are in the Process Modeling

More information

CITS2401 Computer Analysis & Visualisation

CITS2401 Computer Analysis & Visualisation FACULTY OF ENGINEERING, COMPUTING AND MATHEMATICS CITS2401 Computer Analysis & Visualisation SCHOOL OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING Topic 3 Introduction to Matlab Material from MATLAB for

More information

Excel Functions & Tables

Excel Functions & Tables Excel Functions & Tables SPRING 2016 Spring 2016 CS130 - EXCEL FUNCTIONS & TABLES 1 Review of Functions Quick Mathematics Review As it turns out, some of the most important mathematics for this course

More information

Linear Programming with Bounds

Linear Programming with Bounds Chapter 481 Linear Programming with Bounds Introduction Linear programming maximizes (or minimizes) a linear objective function subject to one or more constraints. The technique finds broad use in operations

More information

SOLVER TI-83 QUICK REFERENCE. The SOLVER feature is used to solve equations. There may be one variable or more than one variable in the equation.

SOLVER TI-83 QUICK REFERENCE. The SOLVER feature is used to solve equations. There may be one variable or more than one variable in the equation. SOLVER TI-83 QUICK REFERENCE The SOLVER feature is used to solve equations. There may be one variable or more than one variable in the equation. 1. Press MATH O to activate the SOLVER. 2. Enter the equation

More information

MATLAB Programming for Numerical Computation Dr. Niket Kaisare Department Of Chemical Engineering Indian Institute of Technology, Madras

MATLAB Programming for Numerical Computation Dr. Niket Kaisare Department Of Chemical Engineering Indian Institute of Technology, Madras MATLAB Programming for Numerical Computation Dr. Niket Kaisare Department Of Chemical Engineering Indian Institute of Technology, Madras Module No. #01 Lecture No. #1.1 Introduction to MATLAB programming

More information

MODFLOW STR Package The MODFLOW Stream (STR) Package Interface in GMS

MODFLOW STR Package The MODFLOW Stream (STR) Package Interface in GMS v. 10.1 GMS 10.1 Tutorial The MODFLOW Stream (STR) Package Interface in GMS Objectives Learn how to create a model containing STR-type streams. Create a conceptual model of the streams using arcs and orient

More information

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization

More information

MATLAB Project: Getting Started with MATLAB

MATLAB Project: Getting Started with MATLAB Name Purpose: To learn to create matrices and use various MATLAB commands for reference later MATLAB functions used: [ ] : ; + - * ^, size, help, format, eye, zeros, ones, diag, rand, round, cos, sin,

More information

Introduction. SSH Secure Shell Client 1

Introduction. SSH Secure Shell Client 1 SSH Secure Shell Client 1 Introduction An SSH Secure Shell Client is a piece of software that allows a user to do a number of functions. Some of these functions are: file transferring, setting permissions,

More information

SECTION 1: INTRODUCTION. ENGR 112 Introduction to Engineering Computing

SECTION 1: INTRODUCTION. ENGR 112 Introduction to Engineering Computing SECTION 1: INTRODUCTION ENGR 112 Introduction to Engineering Computing 2 Course Overview What is Programming? 3 Programming The implementation of algorithms in a particular computer programming language

More information

Basic Calculator Functions

Basic Calculator Functions Algebra I Common Graphing Calculator Directions Name Date Throughout our course, we have used the graphing calculator to help us graph functions and perform a variety of calculations. The graphing calculator

More information

Our Strategy for Learning Fortran 90

Our Strategy for Learning Fortran 90 Our Strategy for Learning Fortran 90 We want to consider some computational problems which build in complexity. evaluating an integral solving nonlinear equations vector/matrix operations fitting data

More information

Introduction to programming in MATLAB

Introduction to programming in MATLAB Master Degree Course in ELECTRONICS ENGINEERING http://www.dii.unimore.it/~lbiagiotti/systemscontroltheory.html Introduction to programming in MATLAB e-mail: luigi.biagiotti@unimore.it http://www.dii.unimore.it/~lbiagiotti

More information

Types, Operators and Expressions

Types, Operators and Expressions Types, Operators and Expressions CSE 2031 Fall 2011 9/11/2011 5:24 PM 1 Variable Names (2.1) Combinations of letters, numbers, and underscore character ( _ ) that do not start with a number; are not a

More information

CS113: Lecture 3. Topics: Variables. Data types. Arithmetic and Bitwise Operators. Order of Evaluation

CS113: Lecture 3. Topics: Variables. Data types. Arithmetic and Bitwise Operators. Order of Evaluation CS113: Lecture 3 Topics: Variables Data types Arithmetic and Bitwise Operators Order of Evaluation 1 Variables Names of variables: Composed of letters, digits, and the underscore ( ) character. (NO spaces;

More information

Ordinary Differential Equation Solver Language (ODESL) Reference Manual

Ordinary Differential Equation Solver Language (ODESL) Reference Manual Ordinary Differential Equation Solver Language (ODESL) Reference Manual Rui Chen 11/03/2010 1. Introduction ODESL is a computer language specifically designed to solve ordinary differential equations (ODE

More information

More Binary Search Trees AVL Trees. CS300 Data Structures (Fall 2013)

More Binary Search Trees AVL Trees. CS300 Data Structures (Fall 2013) More Binary Search Trees AVL Trees bstdelete if (key not found) return else if (either subtree is empty) { delete the node replacing the parents link with the ptr to the nonempty subtree or NULL if both

More information

High Performance Computing

High Performance Computing High Performance Computing MPI and C-Language Seminars 2009 Photo Credit: NOAA (IBM Hardware) High Performance Computing - Seminar Plan Seminar Plan for Weeks 1-5 Week 1 - Introduction, Data Types, Control

More information

AN INTRODUCTION TO MATLAB

AN INTRODUCTION TO MATLAB AN INTRODUCTION TO MATLAB 1 Introduction MATLAB is a powerful mathematical tool used for a number of engineering applications such as communication engineering, digital signal processing, control engineering,

More information

MATVEC: MATRIX-VECTOR COMPUTATION LANGUAGE REFERENCE MANUAL. John C. Murphy jcm2105 Programming Languages and Translators Professor Stephen Edwards

MATVEC: MATRIX-VECTOR COMPUTATION LANGUAGE REFERENCE MANUAL. John C. Murphy jcm2105 Programming Languages and Translators Professor Stephen Edwards MATVEC: MATRIX-VECTOR COMPUTATION LANGUAGE REFERENCE MANUAL John C. Murphy jcm2105 Programming Languages and Translators Professor Stephen Edwards Language Reference Manual Introduction The purpose of

More information

Introduction to Matlab. By: Dr. Maher O. EL-Ghossain

Introduction to Matlab. By: Dr. Maher O. EL-Ghossain Introduction to Matlab By: Dr. Maher O. EL-Ghossain Outline: q What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators (Arithmetic, relational, logical ) Display Facilities Flow Control

More information

All King County Summary Report

All King County Summary Report September, 2016 MTD MARKET UPDATE Data Current Through: September, 2016 18,000 16,000 14,000 12,000 10,000 8,000 6,000 4,000 2,000 0 Active, Pending, & Months Supply of Inventory 15,438 14,537 6.6 6.7

More information

More BSTs & AVL Trees bstdelete

More BSTs & AVL Trees bstdelete More BSTs & AVL Trees bstdelete if (key not found) return else if (either subtree is empty) { delete the node replacing the parents link with the ptr to the nonempty subtree or NULL if both subtrees are

More information

Tutorial No. 2 - Solution (Overview of C)

Tutorial No. 2 - Solution (Overview of C) Tutorial No. 2 - Solution (Overview of C) Computer Programming and Utilization (2110003) 1. Explain the C program development life cycle using flowchart in detail. OR Explain the process of compiling and

More information

CSE 341 Section Handout #6 Cheat Sheet

CSE 341 Section Handout #6 Cheat Sheet Cheat Sheet Types numbers: integers (3, 802), reals (3.4), rationals (3/4), complex (2+3.4i) symbols: x, y, hello, r2d2 booleans: #t, #f strings: "hello", "how are you?" lists: (list 3 4 5) (list 98.5

More information

SHORT CUT GUIDE TO MATHCAD. J. (:. McGee and W. D. Holland

SHORT CUT GUIDE TO MATHCAD. J. (:. McGee and W. D. Holland SHORT CUT GUIDE TO MATHCAD J. (:. McGee and W. D. Holland Adapted for Math cad 2001 by Chris Gill INTRODUCTION This handout is intended to get you started on Mathcad, a mathematics software program that

More information

Types, Operators and Expressions

Types, Operators and Expressions Types, Operators and Expressions EECS 2031 18 September 2017 1 Variable Names (2.1) l Combinations of letters, numbers, and underscore character ( _ ) that do not start with a number; are not a keyword.

More information

Spreadsheet definition: Starting a New Excel Worksheet: Navigating Through an Excel Worksheet

Spreadsheet definition: Starting a New Excel Worksheet: Navigating Through an Excel Worksheet Copyright 1 99 Spreadsheet definition: A spreadsheet stores and manipulates data that lends itself to being stored in a table type format (e.g. Accounts, Science Experiments, Mathematical Trends, Statistics,

More information

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB?

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB? Appendix A Introduction to MATLAB A.1 What Is MATLAB? MATLAB is a technical computing environment developed by The Math- Works, Inc. for computation and data visualization. It is both an interactive system

More information

Isothermal Batch Reactor Modeling

Isothermal Batch Reactor Modeling Instructions for use of the tutorial: Download the compressed file Example1.zip and store it on a folder of your choice on your desktop, or in a location where you have rights to read and write. Open the

More information

Learning Worksheet Fundamentals

Learning Worksheet Fundamentals 1.1 LESSON 1 Learning Worksheet Fundamentals After completing this lesson, you will be able to: Create a workbook. Create a workbook from a template. Understand Microsoft Excel window elements. Select

More information

TI-89 Calculator Workshop #1 The Basics

TI-89 Calculator Workshop #1 The Basics page 1 TI-89 Calculator Workshop #1 The Basics After completing this workshop, students will be able to: 1. find, understand, and manipulate keys on the calculator keyboard 2. perform basic computations

More information

A quick introduction to STATA:

A quick introduction to STATA: 1 Revised September 2008 A quick introduction to STATA: (by E. Bernhardsen, with additions by H. Goldstein) 1. How to access STATA from the pc s at the computer lab After having logged in you have to log

More information

Withdrawn Equity Offerings: Event Study and Cross-Sectional Regression Analysis Using Eventus Software

Withdrawn Equity Offerings: Event Study and Cross-Sectional Regression Analysis Using Eventus Software Withdrawn Equity Offerings: Event Study and Cross-Sectional Regression Analysis Using Eventus Software Copyright 1998-2001 Cowan Research, L.C. This note demonstrates the use of Eventus software to conduct

More information

v GMS 10.0 Tutorial MODFLOW Transient Calibration Calibrating transient MODFLOW models

v GMS 10.0 Tutorial MODFLOW Transient Calibration Calibrating transient MODFLOW models v. 10.0 GMS 10.0 Tutorial MODFLOW Transient Calibration Calibrating transient MODFLOW models Objectives GMS provides a powerful suite of tools for inputting and managing transient data. These tools allow

More information

Seattle (NWMLS Areas: 140, 380, 385, 390, 700, 701, 705, 710) Summary

Seattle (NWMLS Areas: 140, 380, 385, 390, 700, 701, 705, 710) Summary September, 2016 MTD MARKET UPDATE Data Current Through: September, 2016 (NWMLS Areas: 140, 380, 385, 390,, 701, 705, 710) Summary Active, Pending, & Months Supply of Inventory 5,000 4,500 4,000 3,500 4,091

More information

Vensim PLE Quick Reference and Tutorial

Vensim PLE Quick Reference and Tutorial Vensim PLE Quick Reference and Tutorial Main Toolbar Sketch Tools Menu Title Bar Analysis Tools Build (Sketch)Window Status Bar General Points 1. File operations and cutting/pasting work in the standard

More information

1. Lexical Analysis Phase

1. Lexical Analysis Phase 1. Lexical Analysis Phase The purpose of the lexical analyzer is to read the source program, one character at time, and to translate it into a sequence of primitive units called tokens. Keywords, identifiers,

More information

MATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab

MATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab MATH 495.3 (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab Below is a screen similar to what you should see when you open Matlab. The command window is the large box to the right containing the

More information

Seattle (NWMLS Areas: 140, 380, 385, 390, 700, 701, 705, 710) Summary

Seattle (NWMLS Areas: 140, 380, 385, 390, 700, 701, 705, 710) Summary October, 2016 MTD MARKET UPDATE Data Current Through: October, 2016 (NWMLS Areas: 140, 380, 385, 390,, 701, 705, 710) Summary Active, Pending, & Months Supply of Inventory 4,500 4,000 3,500 4,197 4,128

More information

EE 216 Experiment 1. MATLAB Structure and Use

EE 216 Experiment 1. MATLAB Structure and Use EE216:Exp1-1 EE 216 Experiment 1 MATLAB Structure and Use This first laboratory experiment is an introduction to the use of MATLAB. The basic computer-user interfaces, data entry techniques, operations,

More information

Graphing Calculator Tutorial

Graphing Calculator Tutorial Graphing Calculator Tutorial This tutorial is designed as an interactive activity. The best way to learn the calculator functions will be to work the examples on your own calculator as you read the tutorial.

More information

hp calculators hp 39g+ & hp 39g/40g Using Matrices How are matrices stored? How do I solve a system of equations? Quick and easy roots of a polynomial

hp calculators hp 39g+ & hp 39g/40g Using Matrices How are matrices stored? How do I solve a system of equations? Quick and easy roots of a polynomial hp calculators hp 39g+ Using Matrices Using Matrices The purpose of this section of the tutorial is to cover the essentials of matrix manipulation, particularly in solving simultaneous equations. How are

More information

CHAPTER 3. INTRODUCTION TO GAMS

CHAPTER 3. INTRODUCTION TO GAMS Page 1 15/05/2014 CHAPTER 3. INTRODUCTION TO GAMS I have used the following references. Download them http://spot.colorado.edu/~markusen/teaching_files/applied_general_equilibrium/gams/intro1.pdf http://spot.colorado.edu/~markusen/teaching_files/applied_general_equilibrium/gams/intro2.pdf

More information

AEMLog Users Guide. Version 1.01

AEMLog Users Guide. Version 1.01 AEMLog Users Guide Version 1.01 INTRODUCTION...2 DOCUMENTATION...2 INSTALLING AEMLOG...4 AEMLOG QUICK REFERENCE...5 THE MAIN GRAPH SCREEN...5 MENU COMMANDS...6 File Menu...6 Graph Menu...7 Analysis Menu...8

More information

Seattle (NWMLS Areas: 140, 380, 385, 390, 700, 701, 705, 710) Summary

Seattle (NWMLS Areas: 140, 380, 385, 390, 700, 701, 705, 710) Summary November, 2016 MTD MARKET UPDATE Data Current Through: November, 2016 (NWMLS Areas: 140, 380, 385, 390,, 701, 705, 710) Summary 4,000 3,500 3,000 2,500 2,000 1,500 1,000 500 0 Active, Pending, & Months

More information

INTRODUCTION... 2 GENERAL INFORMATION... 3 DEVICE CHARACTERISTICS... 3 LINK CHARACTERISTICS... 3 DRIVER CHARACTERISTICS... 4 CONFORMANCE TESTING...

INTRODUCTION... 2 GENERAL INFORMATION... 3 DEVICE CHARACTERISTICS... 3 LINK CHARACTERISTICS... 3 DRIVER CHARACTERISTICS... 4 CONFORMANCE TESTING... MODBU Communication Driver Driver for Serial Communication with Devices Using the Modbus Protocol Contents INTRODUCTION... 2 GENERAL INFORMATION... 3 DEVICE CHARACTERISTICS... 3 LINK CHARACTERISTICS...

More information

An Introduction to Komodo

An Introduction to Komodo An Introduction to Komodo The Komodo debugger and simulator is the low-level debugger used in the Digital Systems Laboratory. Like all debuggers, Komodo allows you to run your programs under controlled

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB The Desktop When you start MATLAB, the desktop appears, containing tools (graphical user interfaces) for managing files, variables, and applications associated with MATLAB. The following

More information

Graphing Calculator Overview

Graphing Calculator Overview Graphing Calculator Overview Workshop One Objectives Learn the general layout of the calculator Learn how to navigate the menus Learn basic operating procedures Perform linear regression LEARNING CENTER

More information

HPE Security Data Security. HPE SecureData. Product Lifecycle Status. End of Support Dates. Date: April 20, 2017 Version:

HPE Security Data Security. HPE SecureData. Product Lifecycle Status. End of Support Dates. Date: April 20, 2017 Version: HPE Security Data Security HPE SecureData Product Lifecycle Status End of Support Dates Date: April 20, 2017 Version: 1704-1 Table of Contents Table of Contents... 2 Introduction... 3 HPE SecureData Appliance...

More information

Why use MATLAB? Mathematcal computations. Used a lot for problem solving. Statistical Analysis (e.g., mean, min) Visualisation (1D-3D)

Why use MATLAB? Mathematcal computations. Used a lot for problem solving. Statistical Analysis (e.g., mean, min) Visualisation (1D-3D) MATLAB(motivation) Why use MATLAB? Mathematcal computations Used a lot for problem solving Statistical Analysis (e.g., mean, min) Visualisation (1D-3D) Signal processing (Fourier transform, etc.) Image

More information

EEE145 Computer Programming

EEE145 Computer Programming EEE145 Computer Programming Content of Topic 2 Extracted from cpp.gantep.edu.tr Topic 2 Dr. Ahmet BİNGÜL Department of Engineering Physics University of Gaziantep Modifications by Dr. Andrew BEDDALL Department

More information

Essentials for the TI-83+

Essentials for the TI-83+ Essentials for the TI-83+ Special Keys. O S O O Press and release, then press the appropriate key to access the 2nd (yellow) operation. Press and release to access characters and letters indicated above

More information

SeisVolE Teaching Modules Preliminary, Draft Instructions (L. Braile and S. Braile, 5/28/01,

SeisVolE Teaching Modules Preliminary, Draft Instructions (L. Braile and S. Braile, 5/28/01, SeisVolE Teaching Modules Preliminary, Draft Instructions (L. Braile and S. Braile, 5/28/01, www.eas.purdue.edu/~braile) 1. Make Your Own Map a. Open the view with that contains your area of interest (for

More information

Graphics calculator instructions

Graphics calculator instructions Graphics calculator instructions Contents: A B C D E F G Basic calculations Basic functions Secondary function and alpha keys Memory Lists Statistical graphs Working with functions 10 GRAPHICS CALCULATOR

More information

KaleidaGraph Quick Start Guide

KaleidaGraph Quick Start Guide KaleidaGraph Quick Start Guide This document is a hands-on guide that walks you through the use of KaleidaGraph. You will probably want to print this guide and then start your exploration of the product.

More information

File Handling in C. EECS 2031 Fall October 27, 2014

File Handling in C. EECS 2031 Fall October 27, 2014 File Handling in C EECS 2031 Fall 2014 October 27, 2014 1 Reading from and writing to files in C l stdio.h contains several functions that allow us to read from and write to files l Their names typically

More information

University of Alberta

University of Alberta A Brief Introduction to MATLAB University of Alberta M.G. Lipsett 2008 MATLAB is an interactive program for numerical computation and data visualization, used extensively by engineers for analysis of systems.

More information

Name: Dr. Fritz Wilhelm Lab 1, Presentation of lab reports Page # 1 of 7 5/17/2012 Physics 120 Section: ####

Name: Dr. Fritz Wilhelm Lab 1, Presentation of lab reports Page # 1 of 7 5/17/2012 Physics 120 Section: #### Name: Dr. Fritz Wilhelm Lab 1, Presentation of lab reports Page # 1 of 7 Lab partners: Lab#1 Presentation of lab reports The first thing we do is to create page headers. In Word 2007 do the following:

More information

Windows Me Navigating

Windows Me Navigating LAB PROCEDURE 11 Windows Me Navigating OBJECTIVES 1. Explore the Start menu. 2. Start an application. 3. Multi-task between applications. 4. Moving folders and files around. 5. Use Control Panel settings.

More information

Introduction to Windows

Introduction to Windows Introduction to Windows Naturally, if you have downloaded this document, you will already be to some extent anyway familiar with Windows. If so you can skip the first couple of pages and move on to the

More information

Graphics calculator instructions

Graphics calculator instructions Graphics calculator instructions Contents: A Basic calculations B Basic functions C Secondary function and alpha keys D Memory E Lists F Statistical graphs G Working with functions H Two variable analysis

More information

DOCUMENTATION CHANGE NOTICE

DOCUMENTATION CHANGE NOTICE DOCUMENTATION CHANGE NOTICE Product/Manual: WORDPERFECT 5.1 WORKBOOK Manual(s) Dated: 12/90, 6/91 and 8/91 Machines: IBM PC and Compatibles This file documents all change made to the documentation since

More information

EXCEL BASICS: MICROSOFT OFFICE 2010

EXCEL BASICS: MICROSOFT OFFICE 2010 EXCEL BASICS: MICROSOFT OFFICE 2010 GETTING STARTED PAGE 02 Prerequisites What You Will Learn USING MICROSOFT EXCEL PAGE 03 Opening Microsoft Excel Microsoft Excel Features Keyboard Review Pointer Shapes

More information