Spelling suggestions: "subject:"“erogramming”"" "subject:"“cprogramming”""
51 |
Limitations of and extensions to heuristic search planningBurfoot, Daniel. January 2006 (has links)
This thesis explores limitations of heuristic search planning, and presents techniques to overcome those limitations. The two halves of the thesis discuss problems in standard propositional planning (STRIPS) and in planning with numeric state variables respectively. / In the context of STRIPS, the primary focus is on the widely used relaxed plan heuristic (h+). A variety of cases are shown in which h+ provides systematically bad estimates of goal distance. To address this breakdown, a planning system called RRT-Plan is presented. This system is inspired by the concept of Rapidly-exploring Random Trees, which was originally developed for use in mobile robot path planning. Experimental results show that RRT-Plan is comparable to leading planners in terms of number of problems solved and plan quality. We conclude that the effectiveness of RRT-Plan is based on its ability to search the space of artificial goal orderings. / The second half of the work considers heuristic search planning in numeric domains. Two particularly significant obstacles are identified. The Curse of Affluence is due to the vast blowup in the search space caused by the addition of numeric variables. The Curse of Poverty relates to the difficulty of finding relevant lower bounds on resource consumption. / Exploration of the Curse of Affluence leads to the new concepts of reduced search and enhanced states. In reduced search, certain simple operators are not used to expand states. Instead, enhanced states are constructed which represent all possible states which could be achieved by suitably inserting simple operators in the plan. Enhanced states are represented by a set of constant discrete variables, and a convex hull of numeric values. This representation can be queried and updated in a natural way. Experimental results show that there are domains for which reduced search gives order of magnitude performance improvements over Metric-FF, a leading heuristic search planner for numeric domains.
|
52 |
Large scale integer programming : a novel solution method and applicationGzara, Fatma January 2003 (has links)
Integer programming is a powerful modeling tool for a variety of decision making problems such as in telecommunications network design and in routing and scheduling. Integer programming models of realistic problems are large in size and pose serious challenge to available software. This creates an urgent need for solution methodologies that can deal with their size and complexity. In this thesis, we focus on the theoretical development, implementation and testing of a novel methodology: an interior-point branch-and-price algorithm with cut generation for large scale integer programming. / The methodology applies to any integer program but is built for a general class of integer programming that has a large, possibly exponential set of constraints. It starts by applying a decomposition method to the complicating constraints. We focus on Lagrangian relaxation or Dantzig-Wolfe decomposition; both lead to a master problem with an exponential number of variables and constraints. The same analysis applies when one starts by relaxing the exponential constraints and then applying a decomposition method. In both cases, one has to solve iteratively a master problem that is updated by appending violated cuts and columns. For that, we propose a cut and column generation algorithm based on analytic centers. / The cut and column generation algorithm solves a restricted master problem using a primal analytic center cutting plane method to obtain a bound on the original problem. The bound may be poor in quality since most of the complicating constraints are relaxed. To strengthen the bound, we generate violated constraints and append them to the master problem. At this point we use available information to warm-start the solution of the updated restricted master problem. This is done using a dual Newton method to calculate the next analytic center, after which we proceed with the primal method. / The bound is then embedded within a branch-and-bound algorithm leading to a branch-and-price algorithm. In fact, the algorithm is more than a branchand-price since it is able to deal with valid cuts added at the level of the master problem. This is a major step towards an interior-point branch-andcut-and-price algorithm. For an efficient integration of the cut and column generation algorithm within branch-and-bound, we use available information from a parent node to warm-start the calculation of the bound at child nodes. This is achieved by a dual Newton method.
|
53 |
Data structures for a fragment based programming environmentPinsonneault, Luc January 1987 (has links)
No description available.
|
54 |
Mathematical programming with conesMassam, Hélène Ménèxia. January 1977 (has links)
No description available.
|
55 |
Projection methods for large scale structured nonlinear programming problemsSimms, Peter Douglas January 1979 (has links)
iv, 123 leaves : ill., tables ; 30 cm. / Title page, contents and abstract only. The complete thesis in print form is available from the University Library. / Thesis (Ph.D.)--University of Adelaide, Dept. of Applied Mathematics, 1980
|
56 |
A duality approach for solving problems of optimum allocation of resources / by John BednarzBednarz, John January 1980 (has links)
Typescript (photocopy) / iv, 136 leaves ; 30 cm. / Title page, contents and abstract only. The complete thesis in print form is available from the University Library. / Thesis (Ph.D.)--Dept. of Applied Mathematics, University of Adelaide, 1980
|
57 |
An experimental investigation of some heuristics for scheduling resource-constrained projects / by Dale F. CooperCooper, Dale Francis January 1974 (has links)
ix, 295 leaves : tables ; 25 cm. / Title page, contents and abstract only. The complete thesis in print form is available from the University Library. / Thesis (Ph.D.1975) from the Dept. of Computing Science, University of Adelaide
|
58 |
Designing an application-specific programming language for mobile robotsBiggs, Geoffrey January 2007 (has links)
The process of programming mobile robots is improved by this work. The tools used for programming robot systems have not advanced significantly, while robots themselves are rapidly becoming more capable because of advances in computing power and sensor technology. Industrial robotics relies on simple programming tools usable by non-expert programmers, while robotics researchers tend to use general purpose languages designed for programming in other domains. The task of developing a robot cannot be assumed to be identical to developing other software-based systems. The nature of robot programming is that there are different and additional challenges when programming a robot than when programming in other domains. A robot has many complex interfaces, must deal with regular and irregular events, real-time issues, large quantities of data, and the dangers of unknown conditions. Mobile robots move around and are capable of affecting everything in the environment. They are found in cluttered environments, rather than the carefully-controlled work spaces of industrial robots, increasing the risk to life and property and the complexity of the software. An analysis of the process of developing robots provides insight into how robot programming environments can be improved to make the task of robot development easier. Three analyses have been performed: a task analysis, to determine the important components of the robot development process, a use case analysis, to determine what robot developers must do, and a requirements analysis, to determine the requirements of a robot programming environment. From these analyses, the important features of a robot development environment were found. They include features such as data types for data commonly found in robotics, semantics for managing reactivity, and debugging facilities such as simulators. The analyses also found that the language is an important component of the programming environment. An application-specific language designed for robot programming is proposed as a solution for providing this component. Application-specific languages are designed for a particular domain of programming, allowing them to overcome the difficulties in that domain without concern for their usefulness in other domains. To test the hypothesis that such a language would improve robot development a set of language extensions has been created. These extensions, named RADAR, provide explicit support for robotics. The prototype implementation uses the Python programming language as the base language. RADAR provides support for two of the necessary features found in the analyses. The first is support for dimensioned data via a new primitive data type, ensuring all dimensioned data is consistent throughout a program. Dimensional analysis support is provided, allowing the safe mixing of data with compatible units, the creation of more complex units from simple single-dimension units, and built-in checking for errors in dimensioned data such as performing operations involving incompatible dimensioned data. For example, the data type will prevent the addition of distance and speed values. Several dimensional analysis systems have been developed for general purpose languages in the past. However, this is the first application of the concept specifically to robotics. The second feature is semantics for managing reactivity. In RADAR, the principle of ease-of-use through simplicity is followed. Special objects represent events and responses, and a special syntax is used for both specifying these objects and managing the connections between them in response to the changing state of the program. This reduces programming complexity and time. There are many other languages for managing reactivity, both the more general languages, such as Esterel, and languages for robotics, such as TDL and Colbert. RADAR is simpler than the general languages, as it is aimed solely at the needs of robot developers. However, it takes a different approach to its design than other languages for reactivity in robotics. These are designed to provide support for a specific architecture or architecture style; RADAR is designed based on the needs of robot developers and so is architecture-independent. RADAR’s design philosophy is to provide robot-specific features with simple semantics. RADAR is designed to support what robot developers need to do with the language, rather than providing a special syntax for supporting a particular robot, architecture or other system. RADAR has been shown to provide an improvement in dimensioned data management and reactivity management for mobile robot programming. It increases the readability, writability and reliability of robot software, and can reduce programming and maintenance costs. RADAR shows that an application-specific approach to developing a robot programming language can improve the process of robot development.
|
59 |
Designing an application-specific programming language for mobile robotsBiggs, Geoffrey January 2007 (has links)
The process of programming mobile robots is improved by this work. The tools used for programming robot systems have not advanced significantly, while robots themselves are rapidly becoming more capable because of advances in computing power and sensor technology. Industrial robotics relies on simple programming tools usable by non-expert programmers, while robotics researchers tend to use general purpose languages designed for programming in other domains. The task of developing a robot cannot be assumed to be identical to developing other software-based systems. The nature of robot programming is that there are different and additional challenges when programming a robot than when programming in other domains. A robot has many complex interfaces, must deal with regular and irregular events, real-time issues, large quantities of data, and the dangers of unknown conditions. Mobile robots move around and are capable of affecting everything in the environment. They are found in cluttered environments, rather than the carefully-controlled work spaces of industrial robots, increasing the risk to life and property and the complexity of the software. An analysis of the process of developing robots provides insight into how robot programming environments can be improved to make the task of robot development easier. Three analyses have been performed: a task analysis, to determine the important components of the robot development process, a use case analysis, to determine what robot developers must do, and a requirements analysis, to determine the requirements of a robot programming environment. From these analyses, the important features of a robot development environment were found. They include features such as data types for data commonly found in robotics, semantics for managing reactivity, and debugging facilities such as simulators. The analyses also found that the language is an important component of the programming environment. An application-specific language designed for robot programming is proposed as a solution for providing this component. Application-specific languages are designed for a particular domain of programming, allowing them to overcome the difficulties in that domain without concern for their usefulness in other domains. To test the hypothesis that such a language would improve robot development a set of language extensions has been created. These extensions, named RADAR, provide explicit support for robotics. The prototype implementation uses the Python programming language as the base language. RADAR provides support for two of the necessary features found in the analyses. The first is support for dimensioned data via a new primitive data type, ensuring all dimensioned data is consistent throughout a program. Dimensional analysis support is provided, allowing the safe mixing of data with compatible units, the creation of more complex units from simple single-dimension units, and built-in checking for errors in dimensioned data such as performing operations involving incompatible dimensioned data. For example, the data type will prevent the addition of distance and speed values. Several dimensional analysis systems have been developed for general purpose languages in the past. However, this is the first application of the concept specifically to robotics. The second feature is semantics for managing reactivity. In RADAR, the principle of ease-of-use through simplicity is followed. Special objects represent events and responses, and a special syntax is used for both specifying these objects and managing the connections between them in response to the changing state of the program. This reduces programming complexity and time. There are many other languages for managing reactivity, both the more general languages, such as Esterel, and languages for robotics, such as TDL and Colbert. RADAR is simpler than the general languages, as it is aimed solely at the needs of robot developers. However, it takes a different approach to its design than other languages for reactivity in robotics. These are designed to provide support for a specific architecture or architecture style; RADAR is designed based on the needs of robot developers and so is architecture-independent. RADAR’s design philosophy is to provide robot-specific features with simple semantics. RADAR is designed to support what robot developers need to do with the language, rather than providing a special syntax for supporting a particular robot, architecture or other system. RADAR has been shown to provide an improvement in dimensioned data management and reactivity management for mobile robot programming. It increases the readability, writability and reliability of robot software, and can reduce programming and maintenance costs. RADAR shows that an application-specific approach to developing a robot programming language can improve the process of robot development.
|
60 |
Designing an application-specific programming language for mobile robotsBiggs, Geoffrey January 2007 (has links)
The process of programming mobile robots is improved by this work. The tools used for programming robot systems have not advanced significantly, while robots themselves are rapidly becoming more capable because of advances in computing power and sensor technology. Industrial robotics relies on simple programming tools usable by non-expert programmers, while robotics researchers tend to use general purpose languages designed for programming in other domains. The task of developing a robot cannot be assumed to be identical to developing other software-based systems. The nature of robot programming is that there are different and additional challenges when programming a robot than when programming in other domains. A robot has many complex interfaces, must deal with regular and irregular events, real-time issues, large quantities of data, and the dangers of unknown conditions. Mobile robots move around and are capable of affecting everything in the environment. They are found in cluttered environments, rather than the carefully-controlled work spaces of industrial robots, increasing the risk to life and property and the complexity of the software. An analysis of the process of developing robots provides insight into how robot programming environments can be improved to make the task of robot development easier. Three analyses have been performed: a task analysis, to determine the important components of the robot development process, a use case analysis, to determine what robot developers must do, and a requirements analysis, to determine the requirements of a robot programming environment. From these analyses, the important features of a robot development environment were found. They include features such as data types for data commonly found in robotics, semantics for managing reactivity, and debugging facilities such as simulators. The analyses also found that the language is an important component of the programming environment. An application-specific language designed for robot programming is proposed as a solution for providing this component. Application-specific languages are designed for a particular domain of programming, allowing them to overcome the difficulties in that domain without concern for their usefulness in other domains. To test the hypothesis that such a language would improve robot development a set of language extensions has been created. These extensions, named RADAR, provide explicit support for robotics. The prototype implementation uses the Python programming language as the base language. RADAR provides support for two of the necessary features found in the analyses. The first is support for dimensioned data via a new primitive data type, ensuring all dimensioned data is consistent throughout a program. Dimensional analysis support is provided, allowing the safe mixing of data with compatible units, the creation of more complex units from simple single-dimension units, and built-in checking for errors in dimensioned data such as performing operations involving incompatible dimensioned data. For example, the data type will prevent the addition of distance and speed values. Several dimensional analysis systems have been developed for general purpose languages in the past. However, this is the first application of the concept specifically to robotics. The second feature is semantics for managing reactivity. In RADAR, the principle of ease-of-use through simplicity is followed. Special objects represent events and responses, and a special syntax is used for both specifying these objects and managing the connections between them in response to the changing state of the program. This reduces programming complexity and time. There are many other languages for managing reactivity, both the more general languages, such as Esterel, and languages for robotics, such as TDL and Colbert. RADAR is simpler than the general languages, as it is aimed solely at the needs of robot developers. However, it takes a different approach to its design than other languages for reactivity in robotics. These are designed to provide support for a specific architecture or architecture style; RADAR is designed based on the needs of robot developers and so is architecture-independent. RADAR’s design philosophy is to provide robot-specific features with simple semantics. RADAR is designed to support what robot developers need to do with the language, rather than providing a special syntax for supporting a particular robot, architecture or other system. RADAR has been shown to provide an improvement in dimensioned data management and reactivity management for mobile robot programming. It increases the readability, writability and reliability of robot software, and can reduce programming and maintenance costs. RADAR shows that an application-specific approach to developing a robot programming language can improve the process of robot development.
|
Page generated in 0.0835 seconds