Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben



Ähnliche Dokumente
Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Zeichen bei Zahlen entschlüsseln

Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

3. Grundlagen der Linearen Programmierung

Karten-Freischaltung mit dem UNLOCK MANAGER

Summenbildung in Bauteiltabellen mit If Then Abfrage

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann,

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

SHAREPOINT Unterschiede zwischen SharePoint 2010 & 2013

Stand: Adressnummern ändern Modulbeschreibung

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Erstellen von x-y-diagrammen in OpenOffice.calc

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Tipps und Tricks zu Netop Vision und Vision Pro

10.1 Auflösung, Drucken und Scannen

Kursangebot gesammelt einlesen

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Informatik I Tutorial

Leichte-Sprache-Bilder

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

Tevalo Handbuch v 1.1 vom

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

BEDIENUNGSANLEITUNG FÜR LIEFERANTEN AUSSCHREIBUNG

Aktuelles, Mitteilungen und Veranstaltungen verwalten

12. Dokumente Speichern und Drucken

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Vorkurs Mathematik Übungen zu Polynomgleichungen

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Kurzanleitung. Toolbox. T_xls_Import

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters

Übungen Programmieren 1 Felix Rohrer. Übungen

LINGO: Eine kleine Einführung

Musterlösung für Schulen in Baden-Württemberg. Windows 200x. Lehrerfortbildung. Pflege des Exchange-Servers. Johannes Kühn

ZIMT-Dokumentation für Studierende Webmail-Oberfläche (Roundcube)

Registrierung Ihres Fachbesucher Tickets

Leitfaden zum Umgang mit Mautaufstellung und Einzelfahrtennachweis

Kostenstellen verwalten. Tipps & Tricks

FEHLER! TEXTMARKE NICHT DEFINIERT.

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Kurz-Anleitung Veranstaltungskalender AHG

INHALTSVERZEICHNIS Allgemeine Beschreibung... 3 Verwendung der Webseite... 4 Abbildungsverzeichnis... 12

Schranken für zulässige Lösungen

Neuerungen PRIMUS 2014

Übung - Datensicherung und Wiederherstellung in Windows Vista

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

teischl.com Software Design & Services e.u. office@teischl.com

Anleitung Postfachsystem Inhalt

Anwendungsbeispiele Buchhaltung

Gimp Kurzanleitung. Offizielle Gimp Seite:

3. LINEARE GLEICHUNGSSYSTEME

Die Dateiablage Der Weg zur Dateiablage

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Newsletter. 1 Erzbistum Köln Newsletter

Zertifikat in dakota einlesen Wie lese ich mein Zertifikat in dakota.le ein?

Die Invaliden-Versicherung ändert sich

OnlineAgenda Ihres Zahnarztes

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II Thomas Brox, Fabian Kuhn

Erstellen einer digitalen Signatur für Adobe-Formulare

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Steganos Secure Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS

ICS-Addin. Benutzerhandbuch. Version: 1.0

Überprüfung der digital signierten E-Rechnung

Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Linearen Gleichungssysteme Anwendungsaufgaben

Simple SMS SMS Gateway

OKB Die MS SQL-Volltextsuche für organice SQL einrichten

Repetitionsaufgaben Wurzelgleichungen

Was meinen die Leute eigentlich mit: Grexit?

Kapitel 15. Lösung linearer Gleichungssysteme

Erstellen einer in OWA (Outlook Web App)

EasyWk DAS Schwimmwettkampfprogramm

ACDSee Pro 3-Tutorials: Fotos (+ Datenbank) auf einen anderen Computer bringen

Partnerportal Installateure Registrierung

Fotos für DVF Wettbewerbe umrechnen

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

DOS-Sympas Scope Dateien in Excel einlesen

KidTime Order. Seite 1

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

my.ohm Content Services Autorenansicht Rechte

GDPdU Export. Modulbeschreibung. GDPdU Export. Software-Lösungen. Stand: Seite 1

PTV VISUM TIPPS & TRICKS:

Werkschau Web-Präsentationen

1 Vom Problem zum Programm

LEITFADEN -ZUSTELLUNG

Anleitung zur Verwendung der VVW-Word-Vorlagen

Kapsch Carrier Solutions GmbH Service & Support Helpdesk

Transkript:

Technische Universität Kaiserslautern Prof Dr Sven O Krumke Dr Sabine Büttner MSc Marco Natale Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Aufgabe 1 (Konvertieren eines LPs in Standardform) Schreiben Sie eine Matlab Funktion, welche die Daten eines LPs mit Gleichungen, Ungleichungen und eventuell freien Variablen in Standardform konvertiert Ihre Implementierung soll dabei als Hauptprozedur folgende Funktion besitzen: function [A,b,c,xmap,slack,doubled] = Convert2Standard(A,b,c,op,bounded) Konvertiert ein LP in allgemeiner Form in ein LP in Standardform Eingabe: A = m x n Matrix, welche die Nebenbedingungen beschreibt b = m x 1 Vektor auf der rechten Seite c = n x 1 Vektor der Zielfunktion op = m x 1 Vektor der relationalen Operatoren zur rechten Seite -1: <= 0: = 1: >= bounded = n x 1 Vektor der Vorzeichenbeschränkungen der Variablen 0: Variable ist freie Variable 1: Variable ist vorzeichenbeschränkt Ausgabe: A = aktualisierte Matrix, die auch Spalten für die neuen Variablen enthält b = m x 1 Vektor auf der rechten Seite c = aktualisierter Vektor der Zielfunktion, der auch Einträge für die neuen Variablen enthält xmap = containersmap() Objekt, das für jede ursprünglich freie Variabe x(j) den Index k=xmap(j) der zugehörigen zweiten Variablen enthält Falls x(j) eine Schlupf-/Überschussvariable ist, dann ist xmap(j)=0 slack = Anzahl der hinzugefügten Schlupf-/Überschussvariablen doubled = Anzahl der freien Variablen x die durch x^+ - x^- ersetzt wurden Ihre Funktion soll dabei für die freien Variablen die einfachste Variante wählen, indem sie eine freie Variable x j durch x + j x j mit x + j, x j 0 ersetzt Wird x j ersetzt, so soll x + j den Platz von x j einnehmen 1

Im containersmap() Objekt xmap sollen die Indizes der Partnervariablen gespeichert werden Wird also beim Bearbeiten der freien Variablen x j eine neue Variable x p generiert, die den negativen Teil beschreibt, so soll xmap(j)=p und xmap(p)=j gesetzt werden Zusätzlich soll für die hinzugefügten Schlupf- bzw Überschussvariablen x j xmap(j)=0 gesetzt werden Damit lässt sich dann zum Schluss erkennen, ob eine Variable eine ursprüngliche Variable ist und, falls sie eine neue Variable ist, ob sie eine Schlupf-/Überschussvariable oder eine Variable der Form x j ist Seien n_original und n_neu die Anzahl der Variablen vor bzw nach der Transformation Dann kann man eine Lösung x R n neu wie folgt in eine Lösung des Originalproblems im R n original zurückrechnen und ausgeben: for i=1:n_original if (bounded(i)==1) Variable x(i) ist eine Variable des ursprünglichen Problems fprintf ( x(d) = f\n, i,x(i)); else Die Variable ist eine freie Variable Der Index der ursprünglichen freien Variablen ist in xmap(i) gespeichert fprintf ( x(d) = f\n, i,x(i)-x(xmap(i))); end end In Anhang A ist das Eingabeformat für die Daten angegeben Zum Einlesen der Daten stellen wir Ihnen die Matlab-Funktion function [A,b,c,op,bounded] = ReadLP(filename) zur Verfügung, die Sie auf der Webseite zur Vorlesung herunterladen können Die Details zu dieser Funktion sind in Anhang B aufgeführt Weiterhin können Sie von der Webseite zur Vorlesung die Datei Simplex1_wrapperm herunterladen, welche einen einfachen Rahmen für die Aufgabe bietet In Anhang C haben wir kurze Informationen zu containersmap() in Matlab zusammengestellt Abgabe: Bitte senden Sie die Datei bis spätestens Dienstag den 120515 an natale@mathematikuni-klde Schreiben Sie außerdem Ihren Namen als Kommentar in jede von Ihnen verfasste Datei 2

A Datenformat Eine Datei LPdat zur Spezifikation eines Linearen Programms (1a) (1b) (1c) (1d) (1e) (1f) min (c 1,, c n ) T x a 11 x 1 + a 12 x 2 + + a 1n x n relop 1 b 1 a 21 x 1 + a 22 x 2 + + a 2n x n relop 2 b 2 a m1 x 1 + a m2 x 2 + + a mn x n relop 1 b m x j 0 für j J {1,, n} mit relop i {=,, } für i = 1,, m hat die folgende Struktur: n m a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn b 1 b m op 1 op m c 1 c 2 c n f 1 f 2 f n Dabei besteht zwischen relop i und op i die folgende Beziehung: relop i op i -1 = 0 1 Die Werte f j {0, 1} gebe an, ob eine Variable x j vorzeichenbeschränkt ist Für das LP gemäß (1) mit der Menge J {1,, n} der vorzeichenbeschränkten Variablen wie in (1f) haben wir { 1, falls j J, dh falls x j vorzeichenbeschränkt ist f j = 0, sonst Das Alkohol-Mininmierungsproblem für Simple Ex aus der Vorlesung hat dann die Eingabedatei: min 4x 1 + 2x 2 + 3x 3 2x 1 + x 2 + 2x 3 = 3 2x 2 + x 3 = 2 x 1 0 x 2 0 x 3 0 3

3 2 2 1 2 0 2 1 3 2 0 0 4 2 3 1 1 1 Auf der Website finden Sie diese Datei unter dem Namen SimpleExdat, sowie eine weitere Beispieldatei (Beispiel1dat) B Einlesen von LPs mittels ReadLP Das Einlesen von Daten für ein Lineares Programm aus einer Datei mit dem in Anhang A beschriebenen Datenformat kann mit der folgenden Funktion erfolgen, die wir auf der Webseite zur Vorlesung zur Verfügung stellen: function [A,b,c,op,bounded] = ReadLP(filename) Liest die Daten für ein Lineares Programm aus einer Textdatei ein ACHTUNG: Diese Funktion ist nicht sehr robust, dh sie erwartet das in den Praktikumsangaben beschriebenen Format Eingabe: filename = Dateiname Ausgabe: A = m x n Matrix, welche die Nebenbedingungen beschreibt b = m x 1 Vektor auf der rechten Seite c = n x 1 Vektor der Zielfunktion op = m x 1 Vektor der relationalen Operatoren zur rechten Seite -1: <= 0: = 1: >= bounded = n x 1 Vektor der Vorzeichenbeschränkungen der Variablen 0: Variable ist freie Variable 1: Variable ist vorzeichenbeschränkt C Matlab Objekte containersmap In Matlab bietet containersmap eine einfache Möglichkeit, Abbildungen (genauer gesagt, Hash-Maps) zu erstellen Für die Praktikumsaufgabe benötigen wir nur eine Abbildung von ganzen Zahlen in die ganzen Zahlen Eine solche Abbildung xmap erstellt man (als leeres Objekt) zunächst mittels: xmap = containersmap( KeyType, int64, ValueType, int64 ); 4

Dann kann man in naheliegender Weise durch xmap(r) = s dem Schlüsselwert r den Wert s zuweisen Mit der Hilfefunktion in Matlab kann mann durch help containersmap eine ausführliche Hilfe bekommen 5