7 resultados para Goal Programming
em Universitätsbibliothek Kassel, Universität Kassel, Germany
Resumo:
Distributed systems are one of the most vital components of the economy. The most prominent example is probably the internet, a constituent element of our knowledge society. During the recent years, the number of novel network types has steadily increased. Amongst others, sensor networks, distributed systems composed of tiny computational devices with scarce resources, have emerged. The further development and heterogeneous connection of such systems imposes new requirements on the software development process. Mobile and wireless networks, for instance, have to organize themselves autonomously and must be able to react to changes in the environment and to failing nodes alike. Researching new approaches for the design of distributed algorithms may lead to methods with which these requirements can be met efficiently. In this thesis, one such method is developed, tested, and discussed in respect of its practical utility. Our new design approach for distributed algorithms is based on Genetic Programming, a member of the family of evolutionary algorithms. Evolutionary algorithms are metaheuristic optimization methods which copy principles from natural evolution. They use a population of solution candidates which they try to refine step by step in order to attain optimal values for predefined objective functions. The synthesis of an algorithm with our approach starts with an analysis step in which the wanted global behavior of the distributed system is specified. From this specification, objective functions are derived which steer a Genetic Programming process where the solution candidates are distributed programs. The objective functions rate how close these programs approximate the goal behavior in multiple randomized network simulations. The evolutionary process step by step selects the most promising solution candidates and modifies and combines them with mutation and crossover operators. This way, a description of the global behavior of a distributed system is translated automatically to programs which, if executed locally on the nodes of the system, exhibit this behavior. In our work, we test six different ways for representing distributed programs, comprising adaptations and extensions of well-known Genetic Programming methods (SGP, eSGP, and LGP), one bio-inspired approach (Fraglets), and two new program representations called Rule-based Genetic Programming (RBGP, eRBGP) designed by us. We breed programs in these representations for three well-known example problems in distributed systems: election algorithms, the distributed mutual exclusion at a critical section, and the distributed computation of the greatest common divisor of a set of numbers. Synthesizing distributed programs the evolutionary way does not necessarily lead to the envisaged results. In a detailed analysis, we discuss the problematic features which make this form of Genetic Programming particularly hard. The two Rule-based Genetic Programming approaches have been developed especially in order to mitigate these difficulties. In our experiments, at least one of them (eRBGP) turned out to be a very efficient approach and in most cases, was superior to the other representations.
Resumo:
Sowohl die Ressourcenproblematik als auch die drohenden Ausmaße der Klimaänderung lassen einen Umstieg auf andere Energiequellen langfristig unausweichlich erscheinen und mittelfristig als dringend geboten. Unabhängig von der Frage, auf welchem Niveau sich der Energiebedarf stabilisieren lässt, bleibt dabei zu klären, welche Möglichkeiten sich aus technischer und wirtschaftlicher Sicht in Zukunft zur Deckung unseres Energiebedarfs anbieten. Eine aussichtsreiche Option besteht in der Nutzung regenerativer Energien in ihrer ganzen Vielfalt. Die Arbeit "Szenarien zur zukünftigen Stromversorgung, kostenoptimierte Variationen zur Versorgung Europas und seiner Nachbarn mit Strom aus erneuerbaren Energien" konzentriert sich mit der Stromversorgung auf einen Teilaspekt der Energieversorgung, der zunehmend an Wichtigkeit gewinnt und als ein Schlüssel zur nachhaltigen Energieversorgung interpretiert werden kann. Die Stromversorgung ist heute weltweit für etwa die Hälfte des anthropogenen CO2-Ausstoßes verantwortlich. In dieser Arbeit wurden anhand verschiedener Szenarien Möglichkeiten einer weitgehend CO2–neutralen Stromversorgung für Europa und seine nähere Umgebung untersucht, wobei das Szenariogebiet etwa 1,1 Mrd. Einwohner und einen Stromverbrauch von knapp 4000 TWh/a umfasst. Dabei wurde untersucht, wie die Stromversorgung aufgebaut sein sollte, damit sie möglichst kostengünstig verwirklicht werden kann. Diese Frage wurde beispielsweise für Szenarien untersucht, in denen ausschließlich heute marktverfügbare Techniken berücksichtigt wurden. Auch der Einfluss der Nutzung einiger neuer Technologien, die bisher noch in Entwicklung sind, auf die optimale Gestaltung der Stromversorgung, wurde anhand einiger Beispiele untersucht. Die Konzeption der zukünftigen Stromversorgung sollte dabei nach Möglichkeit objektiven Kriterien gehorchen, die auch die Vergleichbarkeit verschiedener Versorgungsansätze gewährleisten. Dafür wurde ein Optimierungsansatz gewählt, mit dessen Hilfe sowohl bei der Konfiguration als auch beim rechnerischen Betrieb des Stromversorgungssystems weitgehend auf subjektive Entscheidungsprozesse verzichtet werden kann. Die Optimierung hatte zum Ziel, für die definierte möglichst realitätsnahe Versorgungsaufgabe den idealen Kraftwerks- und Leitungspark zu bestimmen, der eine kostenoptimale Stromversorgung gewährleistet. Als Erzeugungsoptionen werden dabei u.a. die Nutzung Regenerativer Energien durch Wasserkraftwerke, Windenergiekonverter, Fallwindkraftwerke, Biomassekraftwerke sowie solare und geothermische Kraftwerke berücksichtigt. Abhängig von den gewählten Randbedingungen ergaben sich dabei unterschiedliche Szenarien. Das Ziel der Arbeit war, mit Hilfe unterschiedlicher Szenarien eine breite Basis als Entscheidungsgrundlage für zukünftige politische Weichenstellungen zu schaffen. Die Szenarien zeigen Optionen für eine zukünftige Gestaltung der Stromversorgung auf, machen Auswirkungen verschiedener – auch politischer – Rahmenbedingungen deutlich und stellen so die geforderte Entscheidungsgrundlage bereit. Als Grundlage für die Erstellung der Szenarien mussten die verschiedenen Potentiale erneuerbarer Energien in hoher zeitlicher und räumlicher Auflösung ermittelt werden, mit denen es erstmals möglich war, die Fragen einer großräumigen regenerativen Stromversorgung ohne ungesicherte Annahmen anhand einer verlässlichen Datengrundlage anzugehen. Auch die Charakteristika der verschiedensten Energiewandlungs- und Transportsysteme mussten studiert werden und sind wie deren Kosten und die verschiedenen Potentiale in der vorliegenden Arbeit ausführlich diskutiert. Als Ausgangsszenario und Bezugspunkt dient ein konservatives Grundszenario. Hierbei handelt es sich um ein Szenario für eine Stromversorgung unter ausschließlicher Nutzung erneuerbarer Energien, die wiederum ausschließlich auf heute bereits entwickelte Technologien zurückgreift und dabei für alle Komponenten die heutigen Kosten zugrundelegt. Dieses Grundszenario ist dementsprechend auch als eine Art konservative Worst-Case-Abschätzung für unsere Zukunftsoptionen bei der regenerativen Stromversorgung zu verstehen. Als Ergebnis der Optimierung basiert die Stromversorgung beim Grundszenario zum größten Teil auf der Stromproduktion aus Windkraft. Biomasse und schon heute bestehende Wasserkraft übernehmen den überwiegenden Teil der Backup-Aufgaben innerhalb des – mit leistungsstarker HGÜ (Hochspannungs–Gleichstrom–Übertragung) verknüpften – Stromversorgungsgebiets. Die Stromgestehungskosten liegen mit 4,65 €ct / kWh sehr nahe am heute Üblichen. Sie liegen niedriger als die heutigen Preisen an der Strombörse. In allen Szenarien – außer relativ teuren, restriktiv ”dezentralen” unter Ausschluss großräumig länderübergreifenden Stromtransports – spielt der Stromtransport eine wichtige Rolle. Er wird genutzt, um Ausgleichseffekte bei der dargebotsabhängigen Stromproduktion aus erneuerbaren Quellen zu realisieren, gute kostengünstige Potentiale nutzbar zu machen und um die Speicherwasserkraft sowie die dezentral genutzte Biomasse mit ihrer Speicherfähigkeit für großräumige Backup-Aufgaben zu erschließen. Damit erweist sich der Stromtransport als einer der Schlüssel zu einer kostengünstigen Stromversorgung. Dies wiederum kann als Handlungsempfehlung bei politischen Weichenstellungen interpretiert werden, die demnach gezielt auf internationale Kooperation im Bereich der Nutzung erneuerbarer Energien setzen und insbesondere den großräumigen Stromtransport mit einbeziehen sollten. Die Szenarien stellen detaillierte und verlässliche Grundlagen für wichtige politische und technologische Zukunftsentscheidungen zur Verfügung. Sie zeigen, dass bei internationaler Kooperation selbst bei konservativen Annahmen eine rein regenerative Stromversorgung möglich ist, die wirtschaftlich ohne Probleme zu realisieren wäre und verweisen den Handlungsbedarf in den Bereich der Politik. Eine wesentliche Aufgabe der Politik läge darin, die internationale Kooperation zu organisieren und Instrumente für eine Umgestaltung der Stromversorgung zu entwickeln. Dabei kann davon ausgegangen werden, dass nicht nur ein sinnvoller Weg zu einer CO2–neutralen Stromversorgung beschritten würde, sondern sich darüber hinaus ausgezeichnete Entwicklungsperspektiven für die ärmeren Nachbarstaaten der EU und Europas eröffnen.
Resumo:
This paper describes our plans to evaluate the present state of affairs concerning parallel programming and its systems. Three subprojects are proposed: a survey among programmers and scientists, a comparison of parallel programming systems using a standard set of test programs, and a wiki resource for the parallel programming community - the Parawiki. We would like to invite you to participate and turn these subprojects into true community efforts.
Resumo:
Es werden die Grundlagen und wichtigsten Konzepte für zielorientierte Fehlerschätzer bei linearen und nichtlinearen Problemen vorgestellt. Mit ihrer Hilfe lassen sich Aussagen über die Güte einzelner lokaler Werte treffen und es ist möglich, das Netz innerhalb von adaptiven Verfahren derart zu optimieren, dass die betrachtete lokale Größe möglichst genau berechnet werden kann.
Resumo:
In this publication, we report on an online survey that was carried out among parallel programmers. More than 250 people worldwide have submitted answers to our questions, and their responses are analyzed here. Although not statistically sound, the data we provide give useful insights about which parallel programming systems and languages are known and in actual use. For instance, the collected data indicate that for our survey group MPI and (to a lesser extent) C are the most widely used parallel programming system and language, respectively.
Resumo:
Genetic programming is known to provide good solutions for many problems like the evolution of network protocols and distributed algorithms. In such cases it is most likely a hardwired module of a design framework that assists the engineer to optimize specific aspects of the system to be developed. It provides its results in a fixed format through an internal interface. In this paper we show how the utility of genetic programming can be increased remarkably by isolating it as a component and integrating it into the model-driven software development process. Our genetic programming framework produces XMI-encoded UML models that can easily be loaded into widely available modeling tools which in turn posses code generation as well as additional analysis and test capabilities. We use the evolution of a distributed election algorithm as an example to illustrate how genetic programming can be combined with model-driven development. This example clearly illustrates the advantages of our approach – the generation of source code in different programming languages.
Resumo:
The process of developing software that takes advantage of multiple processors is commonly referred to as parallel programming. For various reasons, this process is much harder than the sequential case. For decades, parallel programming has been a problem for a small niche only: engineers working on parallelizing mostly numerical applications in High Performance Computing. This has changed with the advent of multi-core processors in mainstream computer architectures. Parallel programming in our days becomes a problem for a much larger group of developers. The main objective of this thesis was to find ways to make parallel programming easier for them. Different aims were identified in order to reach the objective: research the state of the art of parallel programming today, improve the education of software developers about the topic, and provide programmers with powerful abstractions to make their work easier. To reach these aims, several key steps were taken. To start with, a survey was conducted among parallel programmers to find out about the state of the art. More than 250 people participated, yielding results about the parallel programming systems and languages in use, as well as about common problems with these systems. Furthermore, a study was conducted in university classes on parallel programming. It resulted in a list of frequently made mistakes that were analyzed and used to create a programmers' checklist to avoid them in the future. For programmers' education, an online resource was setup to collect experiences and knowledge in the field of parallel programming - called the Parawiki. Another key step in this direction was the creation of the Thinking Parallel weblog, where more than 50.000 readers to date have read essays on the topic. For the third aim (powerful abstractions), it was decided to concentrate on one parallel programming system: OpenMP. Its ease of use and high level of abstraction were the most important reasons for this decision. Two different research directions were pursued. The first one resulted in a parallel library called AthenaMP. It contains so-called generic components, derived from design patterns for parallel programming. These include functionality to enhance the locks provided by OpenMP, to perform operations on large amounts of data (data-parallel programming), and to enable the implementation of irregular algorithms using task pools. AthenaMP itself serves a triple role: the components are well-documented and can be used directly in programs, it enables developers to study the source code and learn from it, and it is possible for compiler writers to use it as a testing ground for their OpenMP compilers. The second research direction was targeted at changing the OpenMP specification to make the system more powerful. The main contributions here were a proposal to enable thread-cancellation and a proposal to avoid busy waiting. Both were implemented in a research compiler, shown to be useful in example applications, and proposed to the OpenMP Language Committee.