3,564 research outputs found
Computer architecture for efficient algorithmic executions in real-time systems: New technology for avionics systems and advanced space vehicles
Improvements and advances in the development of computer architecture now provide innovative technology for the recasting of traditional sequential solutions into high-performance, low-cost, parallel system to increase system performance. Research conducted in development of specialized computer architecture for the algorithmic execution of an avionics system, guidance and control problem in real time is described. A comprehensive treatment of both the hardware and software structures of a customized computer which performs real-time computation of guidance commands with updated estimates of target motion and time-to-go is presented. An optimal, real-time allocation algorithm was developed which maps the algorithmic tasks onto the processing elements. This allocation is based on the critical path analysis. The final stage is the design and development of the hardware structures suitable for the efficient execution of the allocated task graph. The processing element is designed for rapid execution of the allocated tasks. Fault tolerance is a key feature of the overall architecture. Parallel numerical integration techniques, tasks definitions, and allocation algorithms are discussed. The parallel implementation is analytically verified and the experimental results are presented. The design of the data-driven computer architecture, customized for the execution of the particular algorithm, is discussed
The role of Walsh structure and ordinal linkage in the optimisation of pseudo-Boolean functions under monotonicity invariance.
Optimisation heuristics rely on implicit or explicit assumptions about the structure of the black-box fitness function they optimise. A review of the literature shows that understanding of structure and linkage is helpful to the design and analysis of heuristics. The aim of this thesis is to investigate the role that problem structure plays in heuristic optimisation. Many heuristics use ordinal operators; which are those that are invariant under monotonic transformations of the fitness function. In this thesis we develop a classification of pseudo-Boolean functions based on rank-invariance. This approach classifies functions which are monotonic transformations of one another as equivalent, and so partitions an infinite set of functions into a finite set of classes. Reasoning about heuristics composed of ordinal operators is, by construction, invariant over these classes. We perform a complete analysis of 2-bit and 3-bit pseudo-Boolean functions. We use Walsh analysis to define concepts of necessary, unnecessary, and conditionally necessary interactions, and of Walsh families. This helps to make precise some existing ideas in the literature such as benign interactions. Many algorithms are invariant under the classes we define, which allows us to examine the difficulty of pseudo-Boolean functions in terms of function classes. We analyse a range of ordinal selection operators for an EDA. Using a concept of directed ordinal linkage, we define precedence networks and precedence profiles to represent key algorithmic steps and their interdependency in terms of problem structure. The precedence profiles provide a measure of problem difficulty. This corresponds to problem difficulty and algorithmic steps for optimisation. This work develops insight into the relationship between function structure and problem difficulty for optimisation, which may be used to direct the development of novel algorithms. Concepts of structure are also used to construct easy and hard problems for a hill-climber
Generalizing input-driven languages: theoretical and practical benefits
Regular languages (RL) are the simplest family in Chomsky's hierarchy. Thanks
to their simplicity they enjoy various nice algebraic and logic properties that
have been successfully exploited in many application fields. Practically all of
their related problems are decidable, so that they support automatic
verification algorithms. Also, they can be recognized in real-time.
Context-free languages (CFL) are another major family well-suited to
formalize programming, natural, and many other classes of languages; their
increased generative power w.r.t. RL, however, causes the loss of several
closure properties and of the decidability of important problems; furthermore
they need complex parsing algorithms. Thus, various subclasses thereof have
been defined with different goals, spanning from efficient, deterministic
parsing to closure properties, logic characterization and automatic
verification techniques.
Among CFL subclasses, so-called structured ones, i.e., those where the
typical tree-structure is visible in the sentences, exhibit many of the
algebraic and logic properties of RL, whereas deterministic CFL have been
thoroughly exploited in compiler construction and other application fields.
After surveying and comparing the main properties of those various language
families, we go back to operator precedence languages (OPL), an old family
through which R. Floyd pioneered deterministic parsing, and we show that they
offer unexpected properties in two fields so far investigated in totally
independent ways: they enable parsing parallelization in a more effective way
than traditional sequential parsers, and exhibit the same algebraic and logic
properties so far obtained only for less expressive language families
Solving resource-constrained shceuling problems with exact methods
Scheduling problems mainly consist in finding an assignment of execution times (a schedule) to
a set of activities of a project that optimizes an objective function. There are many constraints
imposed over the activities that any schedule must satisfy. The most usual constraints establish
precedence relations between activities, or limit the amount of some resources that the activities
can consume. There are many scheduling problems in the literature that have been and
are currently still being studied. A paradigmatic example is the Resource-Constraint Project
Scheduling Problem (RCPSP). It consists in finding a start time for each one of the activities of
a project, respecting pre-defined precedence relations between activities and without exceeding
the capacity of a set of resources that the activities consume. The goal is to find a schedule
with the minimum makespan (total execution time of the project). The RCPSP has many generalizations,
one of which is the Multimode Resource-Constrained Project Scheduling Problem
(MRCPSP). In this variation, each activity has several available execution modes that differ in
the duration of the activity or the demand of resources. A solution for the MRCPSP determines
the start times of the activities and also an execution mode for each one. These problems are
NP-hard, and are known in the literature to be especially hard, with moderately small instances
of 50 activities that are still open.
There are many approaches to solving RCPSP and MRCPSP in the literature. They are
often tackled with metaheuristics due to their high complexity, but there are also some exact approaches,
including Mixed Integer Linear Programming (MILP), Branch-and-Bound algorithms
or Boolean Satisfiability (SAT), which have shown to be competitive and in many cases even
better than metaheuristics. One of the exact methods that is growing in use in the field of constrained
optimization is SAT Modulo Theories (SMT). This thesis is the continuation of previous
works carried out in the Logic and Programming (L ∧ P) group of Universitat de Girona, which
used SMT to tackle RCPSP and MRCPSP. Excluding these, there have not been any other
attempts to use SMT to solve the MRCPSP. SMT solvers (like other generic methods such as
SAT or MILP) do not know which is the problem they are dealing with. It is the work of the
modeler to provide a representation of the problem (i.e. an encoding) in the language that the
solver admits.
The main goal of this thesis is to use SMT to solve the Multimode Resource-Constraint
Project Scheduling Problem. We focus on two already existing encodings for the MRCPSP,
namely the time encoding and the task encoding. We use some existing preprocessing methods
that contribute to the formulation of time and task, and present new preprocessings. Most of
them are based on the idea of incompatibility between two activities, i.e., the impossibility that
two activities run at the same time instant. These incompatibilities let us discharge some con-
figurations of the solutions prior to encode the problem. Consequently, the use of preprocessings
helps to reduce the size of the encodings in terms of variables and clauses. Another contribution
of this work is the study of the time and task encodings and the differences that they present.
We refine these encodings to provide more compact versions. Moreover, two new versions of these
encodings are presented, which mainly differ in the codification of the constraints over the use
of resources. One of them is based on Linear Integer Arithmetic expressions, and the other one
in Pseudo-Boolean constraints and Integer Difference Logic. Another contribution of this work
is the presentation of an ad-hoc optimization algorithm based on a linear search that mainly
consists in three steps. First of all it simplifies the problem to efficiently ensure or discharge the
feasibility of the instance, then it finds a first non-optimal solution by using a quick heuristic
method, and finally it optimizes the problem making use of the knowledge acquired with the preprocessings to boost the search. We also present an initial work on a more intrusive approach
consisting in modifying the internal heuristic of the SMT solver for the decision of literals. This
work involves the study of a state-of-the-art implementation of an SMT solver, and its modification
to include a framework to specify heuristics related with the encoding of the problem. We
give some initial results on custom heuristics for the time and task encodings of the MRCPSP.
Finally, we test our system with the benchmark sets of instances for the MRCPSP available in
the literature, and compare our performance with a state-of-the-art exact solver for the MRCPSP.
The results show that we are able to solve the major part of the benchmark sets. Moreover, we
show to be competitive with the state-of-the-art solver of VÃlim et. al. for the MRCPSP, being
our system slower in solving the easiest benchmark instances, but outperforming the solver of
VÃlim et. al. in solving the hardest instance
- …