LPL - Linear Programming Language
|
|
- Henriette Holzmann
- vor 5 Jahren
- Abrufe
Transkript
1 LPL - Linear Programming Language Ein Matrix-Generator Tony Hürlimann LPL-Einführung 1
2 Agenda (0) 1. Grundelemente eines Modells 2. Erstellung eines LPL-Programms 3. Beispiel "kommune.lpl" 4. Verbindung zum Optimierer XA LPL-Einführung 2
3 Agenda (1) 1. Grundelemente eines Modells 2. Erstellung eines LPL-Programms 3. Beispiel "kommune.lpl" 4. Verbindung zum Optimierer XA LPL-Einführung 3
4 Grundelemente eines Modells MODEL SET PARAMETER VARIABLE CONSTRAINT MAXIMIZE END LPL-Einführung 4
5 MODEL-Sektion MODEL Kommune; Ein Kommentar kann eingefügt werden, indem er in (*Text*) hinter dem Semikolon eingefügt wird. MODEL kommune; (*Beispiel*) LPL-Einführung 5
6 SET-Sektion SET i = /1 2 3/; j = /1:3/; (*In dieser Sektion werden die Indexmengen definiert, und es können sofort die Werte zugeordnet werden*) LPL-Einführung 6
7 Besonderheiten der SET-Definition Der Index wird intern als Zahl verarbeitet. Da er als Zahlenwert wenig aussagekräftig ist, kann man einen sog. ALIAS-Name vergeben, der hinter dem Index durch Punkt getrennt angefügt wird: Index.Alias Kommentar kann wieder hinter dem Semikolon in (* Kommentar *) eingefügt werden: i = / 1.alias1 2.alias2 3.alias3 /; (* Kommentar *) Beispiel: j = / 1.K1 2.K2 3.K3 /; (* Kommunen *) i = / 1.ZU 2.BA 3.HI /; (* Pflanzsorten *) LPL-Einführung 7
8 PARAMETER-Sektion In dieser Sektion werden alle Daten symbolisch definiert. Es können durch die gleich Zuweisung unmittelbar folgend die Datenwerte zugewiesen werden LPL-Einführung 8
9 PARAMETER-Definition 1 Syntax: name1 = wert1; (* Einzelwert *) name2 {Indexmenge} = [wert1 wert2.. ]; Mehrfachindizierte Parameter: name{i-menge1,j-menge2} = Wertzuweisung; LPL-Einführung 9
10 PARAMETER-Definition 2 Wertzuweisung: name {i,j} = /: : 1 w11 w12 w13 2 w21 w22 w23 3 w31 w32 w33/; (* Text *) Fall der Name nicht aussagekräftig genug ist, kann man einen (* Kommentar *) anfügen LPL-Einführung 10
11 PARAMETER - land {j} = [ ]; untergrenze {i,j} = /: : /; obergrenze {i,j} = /: : /; wasser {j} = [ ]; quote {i} = [ ]; faktor {j} = [ ]; ertrag {i} = [ ]; LPL-Einführung 11
12 VARIABLE-Sektion In dieser Sektion werden die Variablen definiert. Gleichzeitig kann man zwischen kontinuierlichen und ganzzahligen Variablen unterscheiden. Schließlich kann man sinnvolle Namen konstruieren LPL-Einführung 12
13 VARIABLE 1 Syntax: name1; (* Einzelvariable *) name2 {i}; (* Einfach indizierte V. *) name3 {i,j}; (* Mehrfach indizierte V. *) LPL-Einführung 13
14 VARIABLE 2 Es ist sinnvoll, den Variablen mnemotechnische Namen zu geben. Die Namen können laut LPL-Syntax fast beliebig lang sein; sie müssen mit einem Buchstaben beginnen. Wichtig: Der anschließende Optimierer XA unterscheidet nur Namen der Länge mit 8 Zeichen! LPL-Einführung 14
15 VARIABLE-Definition 1 Der Name der Variablen wird durch einen String nach der Definition und vor dem Semikolon gebildet: variablenname 'string'; Ein String 'string' = 'za1a2' besteht aus: z = eine Zahl, die angibt, wie viele der ersten z Buchstaben des Variablennamens verwendet werden. a1 und a2 sind die ALIAS der Indizes 1 und 2 ersetzt LPL-Einführung 15
16 VARIABLE-Definition 2 Die Variablen des Beispiels: anbau {i,j}; Jetzt würden i bzw. j durch die Indizes der Mengen i und j ersetzt. Unter Benutzung der ALIAS: anbau {i,j} '4a1a2'; Jetzt würden i bzw. j durch die ALIAS der Mengen i und j ersetzt: anbazuk1 Anbau von Zucker in Komm.K LPL-Einführung 16
17 CONSTRAINT-Sektion Dieser Teil enthält die Nebenbedingungen des Modells und die Definition der Zielfunktion. Nebenbedingung: name: funktional = rechte Seite; Zielfunktion: zielname: funktional; LPL-Einführung 17
18 CONSTRAINT-Definition: name Einzelname: name: einfach indizierter Name: name {i}: mehrfach indiz. Name: name {i,j}: bedingter Name: name {i log. Beding.}: log. Bedingung: i<=10; i>4: i<>5; name{i,j name2} nur falls name2 ungleich dem Default-Wert LPL-Einführung 18
19 Beispiele von NB-Namen nebenbedingung: flaeche {i}: lowerbounds {i,j untergrenze}: gewinn LPL-Einführung 19
20 CONSTRAINT-Definition: funktional Ein Funktional ist ein nach den Regeln der Arithmetik aufgebauter Ausdruck. Operatoren: +, -, *, SUM{i} Indizes sind in eckige Klammern zu setzen, wenn sie keine Mengen sind LPL-Einführung 20
21 Beispiele für Funktionale lbound {i,j}: anbau[i,j]<=ugrenze[i,j]; flaeche{i}: SUM{i} anbau[i,j]<=land{j}; kont{j}: SUM{i} verbrauch[i]*anbau[i,j] <= wasser {j}; gewinn: SUM{i,j} ertrag[i]*anbau[i,j]; LPL-Einführung 21
22 Alternative Formulierungen lbound {i,j}: anbau[i,j] <= ugrenze[i,j];! lbound {i,j}: anbau <= ugrenze; flaeche {j}: SUM{i} anbau <= land;! flaeche {i}: SUM{i} anbau[i,j] <= land{j}; kont {j}: SUM{i} verbrauch[i] * anbau[i,j] <= wasser[j];! kont {j}: SUM{i} verbrauch * anbau <= wasser; LPL-Einführung 22
23 Zielfunktion Die Zielfunktion ist ein Funktional ohne rechte Seite: gewinn: SUM{i,j} ertrag * anbau; Die Optimierungsrichtung wird durch MAXIMIZE bzw. MINIMIZE bestimmt: MAXIMIZE gewinn; LPL-Einführung 23
24 END-Sektion Jedes Programm wird beschlossen durch: END (ohne Semikolon!) LPL-Einführung 24
25 Agenda (2) 1. Grundelemente eines Modells 2. Erstellung eines LPL-Programms 3. Beispiel "kommune.lpl" 4. Verbindung zum Optimierer XA LPL-Einführung 25
26 Das Problem Kibbuz j Fläche f j [ha] Wassermenge w j [1.000 m 3 ] Wasserfaktor m j , , ,10 Pflanzsorte i Wasserverbrauch v i [1.000 m 3 /ha] Nettoertrag e i [ME/ha] Maxfläche s i [ha] Zuckerrüben Baumwolle Hirse LPL-Einführung 26
27 Das algebraische Modell Anbaufläche: x f für alle Kibbuzim j Wasserkontingent: m v x w für alle Kibbuzim j Sortenfläche: x s für alle Pflanzsorten i Anbaurelation 12: Anbaurelation 23: j i j i ij j i Ertrag: z = e x Ziel i i ij i x x i i 2 x x ij i1 i i = Maximiere z j f f j 1 i2 2 = f f 2 i3 3 i (Kibbuz 2: Kibbuz 3) (Kibbuz 2: Kibbuz 3) ij LPL-Einführung 27
28 Das LPL-Modell MODEL Kommune; SET i = /1.ZU 2.BA 3.HI/; (*Pflanzsorten*) j = /1.K1 2.K2 3.K3/; (*Kommunen*) PARAMETER land{j} = [ ]; untergrenze{i,j} = /: : /; obergrenze{i,j} = /: : /; wasser{j} = [ ]; quote{i} = [ ]; verbrauch{i} = [ ]; faktor{j} = [ ]; ertrag{i} = [ ]; VARIABLE anbau{i,j} '3a1a2'; CONSTRAINT lowerbounds{i,j untergrenze} '4a1a2': anbau >= untergrenze; upperbounds{i,j obergrenze} '4a1a2': anbau <= obergrenze; flaeche{j} '6a1': SUM{i} anbau[i,j] <= land; kontingent{j} '6a1': SUM{i} verbrauch*faktor[j]*anbau[i,j] <= wasser; grenze{i} '6a1': SUM{j} anbau[i,j] <= quote; A12: land[2]*(sum{i} anbau[i,1]) = land[1]*(sum{i} anbau[i,2]); A23: land[3]*(sum{i} anbau[i,2]) = land[2]*(sum{i} anbau[i,3]); gewinn: SUM{i,j} ertrag[i] * anbau[i,j]; MAXIMIZE gewinn; END LPL-Einführung 28
29 Agenda (4) 1. Grundelemente eines Modells 2. Erstellung eines LPL-Programms 3. Beispiel "kommune.lpl" 4. Verbindung zum Optimierer XA LPL-Einführung 29
30 Der Optimierer XA Mächtiges LP/IP-Softwareprodukt für PC Jim Byer, Sunset Software Technology Wird automatisch von LPL aufgerufen Verkürzte Ausgabe des Ergebnisses in der Datei $$$.SOL Komplette Ausgabe des Ergebnisses in der Datei $$$.PRN LPL-Einführung 30
31 SOL-Datei "MPSXNAME","$$$ ","Tue Apr 06 09:36: ","MAX" 11, 9, , 10 "anbzuk1 ", , , ,"IN ","anbbak1 ", ,"(NB) ", "anbzuk2 ", , , ,"LOWER","(NB) ", ,"(RS) ", "anbzuk3 ", , , ,"IN ","kontink3", ,"anbBAK3 ", "anbbak1 ", , , ,"LOWER","(NB) ", ,"(RS) ", "anbbak2 ", , , ,"IN ","anbzuk2 ", ,"grenzeHI", "anbbak3 ", , , ,"UPPER","(RS) ", ,"(NB) ", "anbhik1 ", , , ,"LOWER","(NB) ", ,"(RS) ", "anbhik2 ", , , ,"IN ","grenzehi", ,"anbZUK2 ", "anbhik3 ", , , ,"IN ","grenzehi", ,"anbBAK3 ", "flaechk1", , , ,"IN ","LE","(RS) ", ,"(NB) ", "flaechk2", , , ,"IN ","LE","(RS) ", ,"(NB) ", "flaechk3", , , ,"IN ","LE","(RS) ", ,"(NB) ", "kontink1", , , ,"IN ","LE","(RS) ", ,"(NB) ", "kontink2", , , ,"UPPER","LE","anbHIK3 ", ,"anbZUK3 ", "kontink3", , , ,"UPPER","LE","anbZUK3 ", ,"anbZUK3 ", "grenzezu", , , ,"IN ","LE","(RS) ", ,"(NB) ", "grenzeba", , , ,"IN ","LE","(RS) ", ,"(NB) ", "grenzehi", , , ,"UPPER","LE","anbBAK2 ", ,"anbZUK3 ", "A12 ", , , ,"LOWER","EQ","anbZUK1 ", ,"kontinK1", "A23 ", , , ,"LOWER","EQ","anbZUK3 ", ,"anbHIK3 ", LPL-Einführung 31
32 PRN-Datei (Statistik) STATISTICS - FILE: $$$ TITLE: MPSXNAME Tue Apr 06 09:36: xa VERSION 10.0 Intel Extended-DOS x86 USABLE MEMORY 7,605K BYTES VARIABLES 9 MAXIMUM 50,000 3 LOWER, 0 FIXED, 4 UPPER, 0 FREE CONSTRAINTS 11 MAXIMUM 10,000 0 GE, 2 EQ, 9 LE, 0 NULL/FREE, 0 RANGED. CAPACITY USED BY CATEGORY- 0.0% VARIABLE, 0.1% CONSTRAINT, 48 NON-ZEROS, WORK 778,338 MAXIMIZATION. MPS FORMAT- OBJECTIVE: gew RHS:..rhs RANGE:? BOUND: Bounds O P T I M A L S O L U T I O N ---> OBJECTIVE SOLVE TIME 00:00:00 ITER 10 MEMORY USED 0.0% LPL-Einführung 32
33 PRN-Datei (Variablen) File: $$$ Tue Apr 06 09:36: Page 1 SOLUTION (Maximized): MPSXNAME Variable Activity Cost Variable Activity Cost I anbzuk anbzuk REDUCED COST REDUCED COST I anbzuk anbbak REDUCED COST REDUCED COST I anbbak U anbbak REDUCED COST REDUCED COST anbhik I anbhik REDUCED COST REDUCED COST I anbhik REDUCED COST LPL-Einführung 33
34 PRN-Datei (Nebenbedingungen) File: $$$ Tue Apr 06 09:36: Page 2 CONSTRAINTS: MPSXNAME Constraint Activity RHS Constraint Activity RHS I flaechk < I flaechk < DUAL VALUE DUAL VALUE I flaechk < I kontink < DUAL VALUE DUAL VALUE kontink < kontink < DUAL VALUE DUAL VALUE I grenzezu < I grenzeba < DUAL VALUE DUAL VALUE grenzehi < A = DUAL VALUE DUAL VALUE A = DUAL VALUE LPL-Einführung 34
N ---> INFEASIBILTY SOLVE TIME 00:00:00 ITER 1 MEMORY USED 0.0%
Aufgabe 2.1: MODEL Beispiel1.1.; = /1 2 3/; i= /1:3/; x{}; PARAMETER A{i,}= /: 1 2 3 : 1 2 3 0 2 1-8 7 3 4 2 1 /; b{i}=[8 5-1]; Zielfunktionswert{}=[2-1 -3]; NB{i}: SUM{} A*x
MehrModellbildung. Produktions- und Absatzplanung. in der. Thema. Fachbereich Wirtschaftswissenschaften BWL insb. Quant. Meth., Prof. Dr. D.
Thema Modellbildung in der Produktions- und Absatzplanung Produktions- und Absatzplanung 1 Agenda 1. Grundmodell (LPL-Basis) 2. Modifikationen des Grundmodells 3. Weitere Modelle Produktions- und Absatzplanung
MehrModellieren mit AMPL
Modellieren mit AMPL Elisabeth Gassner Mathematische Modelle in den Wirtschaftswissenschaften Prof. R. E. Burkard 27. April 2007 E. Gassner (Mathematische Modelle) AMPL 27. April 2007 1 / 21 Überblick
MehrOperations Research für Logistik
Operations Research für Logistik Lineare Optimierung (170.202) Ao. Univ. - Prof. Norbert SEIFTER Dipl. - Ing. Stefanie VOLLAND Sommersemester 2012 Lehrstuhl Industrielogistik Lineare Optimierung Inhalte:
Mehr6. Softwarewerkzeuge für die Lineare Programmierung
6. Softwarewerkzeuge für die Lineare Programmierung Inhalt 6. Softwarewerkzeuge für die Lineare Programmierung GNU Linear Programming Kit Operations Research I Hochschule Bonn-Rhein-Sieg, SS 2013 314 GNU
MehrÜbersicht Shell-Scripten
!!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,
MehrEine kurze Beschreibung zu AMPL und CPLEX
Welchen Kuchen backt Bernd Brezel? Lineare Optimierung Eine kurze Beschreibung zu AMPL und CPLEX Prof. Dr. Andrea Walther Institut für Mathematik Universität Paderborn 1 1 Das allgemeines Vorgehen Zur
MehrLINGO: Eine kleine Einführung
LINGO: Eine kleine Einführung Jun.-Prof.Dr. T. Nieberg Lineare und Ganzzahlige Optimierung, WS 2009/10 LINDO/LINGO ist ein Software-Paket, mit dessen Hilfe (ganzzahlige) lineare Programme schnell und einfach
MehrVorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel
Inhalt: Vorbemerkung...1 Allgemeines zu Shell Scripts...1 Aufruf...1 Einfaches Beispiel...1 Testen eines Shell-Scripts...2 Kommandozeilen-Parameter...2 Prozeßsteuerung...3 Bedingte Ausführung: if...3 Mehrfachentscheidung:
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
Mehr1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr1. Referenzdatentypen: Felder und Strings
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
MehrVeranstaltung und Übung: Optimierungssysteme Modelle, Software, Praxisanwendungen. Uwe Suhl Veronika Waue SS 2008
Veranstaltung 10033025 und 101053 Übung: Optimierungssysteme Modelle, Software, Praxisanwendungen Uwe Suhl Veronika Waue SS 2008 Organisatorisches Veronika Waue Sprechstunde Mi.11h-12h (R214) E-mail: veronika@waue.net
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrPuLP ein Python LP-Modellierer
PuLP ein Python LP-Modellierer How to use PuLP Dr. Klaus Ladner Institut für Statistik und Operations Research 1. Dezember 2016 Was ist PuLP? Ein LP-Modellierer CBC (COIN-OR Branch und Cut) Solver PuLP
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
Mehr3.1 Allgemeines. Abbildung 3.1: Eröffnungsmenü einer Excel-Mappe
3.1 Allgemeines Nach Aufruf des Programms-MS-Excel wird eine leere Datei, auch als Arbeitsmappe oder Excel-Worksheet als bezeichnet, geöffnet (= Abb. 3.1). Eine Arbeitsmappe besteht aus einem Stapel von
MehrRechnerpraktikum zu Grundlagen der Nichtlinearen Optimierung
Rechnerpraktikum zu Grundlagen der Nichtlinearen Optimierung 18.3.14-20.3.14 Dr. Florian Lindemann Moritz Keuthen, M.Sc. Technische Universität München Garching, 19.3.2014 Kursplan Dienstag, 18.3.2014
MehrOptimierung für Nichtmathematiker
Technische Universität Chemnitz Chemnitz, 19.10.2009 Prof. Dr. C. Helmberg, A. Lau Optimierung für Nichtmathematiker Übung 2 Einführung in die Modellierungssprache AMPL 1. Wir betrachten zunächst das Mozartproblem
MehrRechnerpraktikum zur Nichtlinearen Optimierung
Rechnerpraktikum zur Nichtlinearen Optimierung 9. März 2016 11. März 2016 Sebastian Garreis, B. Sc. Philipp Jarde, M. Sc. Technische Universität München Fakultät für Mathematik Lehrstuhl für Mathematische
Mehrmaximize Profit: sum {j in P} c[j] * X[j]; subject to Zeit: sum {j in P} (1/a[j]) * X[j] <= beta; subject to Grenzen {j in P}: 0 <= X[j] <= u[j];
AMPL-Modell für beliebige Produkte (myprod.mod) set P; param a {j in P}; param beta; param c {j in P}; param u {j in P}; var X {j in P}; maximize Profit: sum {j in P} c[j] * X[j]; subject to Zeit: sum
MehrOptimization in Business Applications: 2. Modeling principles
Optimization in Business Applications: 2. Modeling principles IGS Course Dynamic Intelligent Systems Part 2 Universität Paderborn, June July 2010 Leena Suhl www.dsor.de Prof. Dr. Leena Suhl, suhl@dsor.de
Mehr1 EINFÜHRUNG PROGRAMMAUFBAU IN C++
1 EINFÜHRUNG PROGRAMMAUFBAU IN C++ Leitidee: Genaueres Verständnis der C++-Syntax an Hand von Syntaxdiagrammen Lexikalische Struktur von C++ Vereinbarungen: Definition / Deklaration Beispiele für Variablen-
MehrEinführung in Softwaretools zur Nichtlinearen Optimierung
Einführung in Softwaretools zur Nichtlinearen Optimierung 3. April 2017 5. April 2017 Sebastian Garreis, M. Sc. (hons) Johannes Haubner, M. Sc. Technische Universität München Fakultät für Mathematik Lehrstuhl
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable
1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem
MehrVariablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.
Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Wir wollen uns heute dem Thema Variablen widmen und uns damit beschäftigen, wie sich
MehrEinführung in die Programmierung (MA8003)
Theorie 1.2: Vektoren & Matrizen II, Funktionen, Indizierung Dr. Lorenz John Technische Universität München Fakultät Mathematik, Lehrstuhl für Numerische Mathematik M2 04.10.2016 Theorie 1.2: Inhalt 1
MehrThis image cannot currently be displayed. Java à Matlab. bereitgestellt von Dr. Lukas Faessler 12/4/17
This image cannot currently be displayed. Java à Matlab bereitgestellt von Dr. Lukas Faessler 12/4/17 Allgemeine Programmierkonzepte kommen in verschiedenen Programmiersprachen vor sind langlebig Sprachen
MehrEinführung in die Programmierung (MA8003)
Theorie 1.2: Vektoren & Matrizen II, Funktionen, Indizierung Dr. Laura Scarabosio Technische Universität München Fakultät Mathematik, Lehrstuhl für Numerische Mathematik M2 04.10.2017 Theorie 1.2: Inhalt
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Bis jetzt: Heute: Entwicklungsumgebung
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrEinführung in Mathematica
Einführung in Mathematica Carsten Rezny Institut für Angewandte Mathematik, Universität Bonn Einstieg Mathematica ist eine mathematische Allzweck-Software, die vor allem für ihre Stärken im Umgang mit
MehrAls Instanz für das p-median Problem wählen wir das Netzwerk von Abbildung 1-1 des Buches auf Seite 6.
Übung zum p-median Problem Prof. Dr. R. Vahrenkamp, Universität Kassel Als Instanz für das p-median Problem wählen wir das Netzwerk von Abbildung 1-1 des Buches auf Seite 6. Abbildung1 1: Ausschnitt aus
MehrKapitel 3. Grunddatentypen, Ausdrücke und Variable
Kapitel 3 Grunddatentypen, Ausdrücke und Variable Grunddatentypen, Ausdrücke und Variable 1 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen
Mehr7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele
MehrPIC16 Programmierung in HITECH-C
PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden
MehrArrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
Mehrhue04 November 18, 2016
hue04 November 18, 2016 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern
MehrCompilerbau 12. Übungsblatt, Sommersemester 2015 Abgabetermin:
12 12. Übungsblatt, Sommersemester 2015 Abgabetermin: 14.07.2015 Aufgabe 32 Übersetzen Sie den arithmetischen Ausdruck a*-(b+c) in 3-Adress-Code. Aufgabe 33 Entwickeln Sie für die folgende Teilgrammatik
MehrOptimierung für Wirtschaftsinformatiker: Lineare Programme
Optimierung für Wirtschaftsinformatiker: Lineare Programme Dr. Nico Düvelmeyer Dienstag, 31. Mai 2011 1: 1 [1,1] Inhaltsübersicht für heute 1 Lineare Programme Allgemeine Form 2 Spezielle Darstellungen
MehrProgrammieren in C++ Templates
Programmieren in C++ Templates Inhalt Templates Funktions- und Klassen-Templates Spezialisierung von Templates Generische Klassen Einbinden von Templates Instantiierung (implizit und explizit) Templates
MehrKapitel 4. Mathematische Optimierungsmodelle. Einführung in AMPL (1) Uwe H. Suhl Lehrstuhl für Wirtschaftsinformatik Freie Universität Berlin
Kapitel 4 Mathematische Optimierungsmodelle Einführung in AMPL () Uwe H. Suhl Lehrstuhl für Wirtschaftsinformatik Freie Universität Berlin Optimierungssysteme Version. / SS 200 Modellierungssysteme Sind
MehrVon SAS nach SPSS und umgekehrt
Von SAS nach SPSS und umgekehrt Umwandlung von Dateien inklusive Formaten/Wertelabels Timm Lochmann, Carina Ortseifen Universitätsrechenzentrum Heidelberg Inhalt 1. Unterschiede zwischen SAS- und SPSS-Dateien
MehrOptimierung. Vorlesung 08
Optimierung Vorlesung 08 Heute Dualität Ganzzahligkeit Optimierung der Vorlesung durch Evaluierung 2 Das duale LP Das primale LP Maximiere c T x unter Ax b, x R d 0. wird zu dem dualen LP Minimiere b T
Mehr1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster
1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:
MehrÜbungspaket 12 Der Datentyp char
Übungspaket 1 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char,. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 9 bis 31 sowie 4, 5 und
MehrOrganisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50
Organisatorisches Vorlesung Donnerstag 8:35 bis 10:05 Übung drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Tutorium (Mehr oder weniger) abwechselnd Mo und Mi 10-11:30 Termine
MehrOrganisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr
Organisatorisches Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, 14.10., 14 Uhr bis Do, 23.10., 8Uhr. 14.10.2014 IT I - VO 1 1 IT I: Heute Wiederholung CuP ctd: this Arrays, ArrayLists Schleifen:
MehrWebserver-Schnittstelle für die ExecEngine der CL-Software
Webserver-Schnittstelle für die ExecEngine der CL-Software Für diese Schnittstelle ist eine CL-Studio-Version oder CLX-Version erforderlich. Mit dem Aufruf des Programms CLWebI.ccc können aktuelle Werte
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Variablen Übersicht 1 Variablendeklaration 2 Initialisierung von Variablen 3 Symbolische Konstanten Variablendeklaration Die Deklaration der Variablen erfolgt durch eine Typangabe
MehrAnwendungsbeispiel: MTO
Anwendungsbeispiel MAXIMUM TREE ORIENTATION Universität Ulm 16. November 211 Inhaltsverzeichnis 1 Problemvorstellungen 2 Motivation 3 Integer Linear Programming 4 Tiefenbeschränkter Suchbaum 5 Konfliktgraph
MehrPraxis der Programmierung
Arrays, Pointer, Parameterbergabe Institut für Informatik und Computational Science Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Arrays (Felder/Vectoren) 2 Arrays: Motivation Gegeben:
MehrMathematische Computer-Software
Mathematische Computer-Software Kommerzielle Computeralgebrasysteme (CAS) Beispiele: Mathematica, Maple, Numerisches und symbolisches Verarbeiten von Gleichungen: Grundrechenarten Ableitung und Integration
MehrVorlesung Unix-Praktikum
1/2 Vorlesung 6. - und Rechnerbetriebsgruppe Technische Fakultät Universität Bielefeld 23. November 2015 2/2 Willkommen zur sechsten Vorlesung Was gab es beim letzten Mal? Dateiverwaltung Aliase echo und
MehrNeuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching
Neuerungen in 12.2 Marco Patzwahl MuniQSoft GmbH Unterhaching Schlüsselworte Neuerungen in 12.2, DBA Einleitung Jede neue Datenbankversion bringt diverse Neuerungen mit. Nur welche sind wichtig und welche
MehrGrundlagen und Konzepte von C Datenstrukturen
Grundlagen und Konzepte von C Datenstrukturen Ausarbeitung von Andreas Gadelmaier Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik,
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrEinführung in. Pierre Bayerl
Einführung in Pierre Bayerl 19. November 21 Matlab Numerische Manipulation von Matrizen und Vektoren und deren Visualisierung. Verwendung: Interaktive Eingabe von Befehlen Skriptprogramme ( Batch-Dateien
Mehr9. Vektoren. (auch Felder/array)
9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die
Mehr1 Zahlenmengen und einige mathematische Symbole
1 Zahlenmengen und einige mathematische Symbole Inhalt 1.1 Vorbemerkung................................................... 3 1.2 Zahlenmengen................................................... 4 1.3 Summenzeichen..................................................
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrZeiger (engl. Pointer)
Zeiger (engl. Pointer) Zeiger Ein Zeiger (engl. Pointer) speichert eine Adresse, unter der ein Wert im Speicher des Computers gespeichert werden kann. Eine Variable im Gegensatz speichert einen Wert. Der
Mehr- A-l - Beschreibung des MPS-Formats Bei der nachfolgenden Beschreibung werden nicht benutzbare Spalten schraffiert gekennzeichnet.
- A-l - Anhang A Beschreibung des MPS-Formats Bei der nachfolgenden Beschreibung werden nicht benutzbare Spalten schraffiert gekennzeichnet. NAflE-Abschni tt Die NA~E-Karte ist die erste Abschnittskarte
MehrÜbersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!
!!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit
MehrEinleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens
Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität
MehrGanzzahlige Optimierung (IP)
Thema Ganzzahlige Optimierung (IP) Systematik * Problematik * Pragmatik IP und Branch and Bound 1 Agenda 1. Relevanz der Ganzzahligkeit? 2. Formulierung ganzzahliger Modelle 3. Zur Lösung ganzzahliger
MehrSprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg
Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen
Mehr4.2 Programmiersprache C
4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.
MehrFACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung
C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
MehrEinführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel
Einführung in MATLAB + MATLAB Simulink Dipl.-Inf. Markus Appel mappel@informatik.hu-berlin.de 28.10.2016 Was ist MATLAB? ein universelles Algebra-Programm zur Lösung mathematischer Probleme grafische Darstellung
MehrEinführung in Xpress-Mosel
Einführung in Xpress-Mosel Matthias Silbernagl Computerblockpraktikum zur linearen Optimierung Gliederung 1 Mosel-Grundlagen 1.1 Xpress im Überblick Inhaltsverzeichnis 1 Mosel-Grundlagen 1 1.1 Xpress im
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Methoden / Funktionen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick 2 Zweck von Methoden 3 Methodendefinition
Mehryacc - eine Einführung
yacc - eine Einführung Axel Kohnert 18th May 2005 Abstract yacc ist ein Unixprogramm, welches die Erstellung einer Programmiersprache unterstützt. Der Benutzer gibt die definierende Grammatik an, und das
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrArrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3
Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
Mehr+ C - Array (Vektoren, Felder)
+ C - Array (Vektoren, Felder) Eindimensionale Arrays Beim Programmieren steht man oft vor dem Problem, ähnliche, zusammengehörige Daten (vom gleichen Datentyp) zu speichern. Wenn man zum Beispiel ein
MehrGAMS (General Algebraic Modeling System)
GAMS (General Algebraic Modeling System) Crash-Kurs Dortmund, Januar 1999 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966,
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
MehrAutomatiche Teameinteilung für PSE
Automatiche Teameinteilung für PSE Einführung ILP-Modellierung LEHRSTUHL PROGRAMMIERPARADIGMEN 0 7.12.2016 - PSE/TSE WS 2016/17 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft LEHRSTUHL PROGRAMMIERPARADIGMEN
MehrTag 2 Repetitorium Informatik (Java)
Tag 2 Repetitorium Informatik (Java) Dozent: Daniela Novac Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Zeichen und
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir
MehrDie einfachsten Anweisungen
2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser
MehrEinführung in Mathematica
Einführung in Mathematica Carsten Rezny Institut für Angewandte Mathematik Universität Bonn Pure Funktionen Das vorige Beispiel verwendet eine neue Schreibweise. Das erste Argument von Map oder Apply ist
MehrProbeklausur Name: (c)
Einführung in die Praktische Informatik 30.1.2013 Probeklausur Name: Teil I: Datentypen (20 Punkte) Lösen sie die Probleme, indem sie die korrekten Lösungen ankreuzen bzw. in die vorgesehenen Freiräume
MehrGanze Zahlen, Ausdrücke Variablen/Konstanten
Ganze Zahlen, Ausdrücke Variablen/Konstanten InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Programmieren in C ganze Zahlen, Konstanten und Variablen 2 Lernziele Siekönnen
MehrLineare Algebra mit dem Statistikprogramm R
SEITE 1 Lineare Algebra mit dem Statistikprogramm R 1. Verwendung von Variablen Variablen werden in R definiert, indem man einem Variablennamen einen Wert zuweist. Bei Variablennamen wird zwischen Groß
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in
MehrEinführung in die Programmierung (MA8003)
Theorie 2.1: Relationale und logische Operatoren, Funktionen Dr. Lorenz John Technische Universität München Fakultät Mathematik, Lehrstuhl für Numerische Mathematik M2 05.10.2016 Ablauf Theorie 1.1+1.2
MehrWertebereich und Genauigkeit der Zahlendarstellung
Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden
Mehr