So You Want to Build an Automated Scheduling System
|
|
|
- Colin Daniels
- 10 years ago
- Views:
Transcription
1 So You Want to Build an Automated Scheduling System David Montana BBN Technologies 10 Moulton Street, Cambridge, MA Abstract The BBN scheduling group contracts with both government and industry to perform research and development for geneticalgorithm-based scheduling. We have developed custom real-world automated scheduling systems for different clients. Here, I relate some of the insight gained from our experience organized into a few broad categories. 1 SELLING THE PROJECT Clearly, one of the critical parts of building an automated scheduling systems is securing the commitment of sufficient money and resources to accomplish the job. Selling such a project within an organization requires a champion (or champions) inside the organization, someone who will put their influence and credibility behind the effort. As an outside contractor, one of our toughest jobs is trying to find such a champion. If you are an insider in the organization, you are at a big advantage because you can be that champion or know who else to approach. There is likely to be a lot of resistance to the proposed project because there is a lot at stake. Scheduling is often at the heart of the business process, and changing how the scheduling is done likely means an overhaul of this process. The results can affect not only the organization s bottom line but also its people, both those people responsible for creating the schedules and (in many cases) those whose work is being scheduled. For example, when we were creating an automated scheduler for assigning computer technicians to calls for service [Montana et al., 1998], the technicians were very upset at their loss of autonomy in creating their own schedules. (Their choices were often bad and were causing an inefficiency in the operations.) As another example, the Air Force was motivated to have us build an automated crew scheduler for them because their current approach was leading to unpredictability of schedules, upsetting their people s family lives and causing high turnover [Rana-Stevens et al., 2000]. An additional effect of implementing an automated scheduler is that it can sometimes require an overhaul of the Information Technology (IT) systems to get the right data to and from the scheduler in a timely manner. This will likely make the IT systems managers unhappy. It is important that the champion(s) have the ammunition required to sell the project. To start, the champion requires a cost-benefit analysis that will justify the project. This should be a realistic analysis because the project will likely be judged against it. Another very useful sales tool is a prototype system that shows the possibility of building the real system and in broad terms how the real system would work. In multiple cases, we have used such a prototype as a means to convince skeptics of the feasibility of automating a process that they previously felt could not be done by a computer. Additionally, one should remember that the selling of the project is a continuous process. Along the way, there should be demonstrations of progress and early releases to get people not doing system development involved in the process. 2 A CONCEPT OF OPERATIONS The concept of operations is how it is envisioned that the system will be used. It is important to develop a concept of operations early in the process because it determines key requirements of the system. Such requirements include: (i) interfaces to data sources and sinks, (ii) schedule turnaround times (which in turn can affect which algorithm to use as discussed below), (iii) user interface functionality, and (iv) automated scheduler logic and functionality.
2 There is a wide range of possibilities for the concept of operations. For example, consider the issue of when to run the automated scheduler and how long it should take to create schedules. This can be as simple as the scheduler making each day s schedule the night before and printing out the day s schedule each morning. However, it can also involve dynamic rescheduling, i.e. having the scheduler revise the schedules as they are being executed. For example, a system we built for scheduling computer service technicians needed to create a new schedule every ten minutes. Many of the service calls required attention within a few hours after being received, so to be able to fit these calls in a reasonable manner into the schedules required a fast reaction. A system we built for aircrew scheduling for the U.S. Air Force had the automated scheduler execute only when there were changes that necessitated a new schedule. These changes were either new or modified missions arriving from headquarters or a human scheduler making manual modifications. Another source of variation in the concept of operations is how to involve the human user. It may be as simple as the automated system having the final say with no human scheduling inputs. For our computer service scheduler, the human user needed to be able to override the scheduler in certain situations, because at times the human scheduling agent worked out with the customer certain agreements to which the computer was not privy. For our aircrew scheduler, a human user was required to take responsibility for each assignment. Therefore, we introduced the concept of approval whereby once a human signed off on a particular assignment, there was a cost in the evaluation function for changing that assignment. This cost increased as the time to execute the assigned mission drew closer. 3 SCHEDULING ALGORITHM SELECTION In the logic of scheduling, there are two different types of constraints, hard and soft. Hard constraints cannot be violated, while soft constraints can be violated but at a cost. In a well-defined scheduling problem, it is generally easy to find a legal schedule (i.e., one that satisfies the hard constraints) but impossible to find one also satisfying all the soft constraints. The goal is to find a legal schedule that does as well as possible at satisfying the soft constraints. In a well-formed problem, the soft contraints are combined into a single evaluation function that produces a score measuring the quality of any legal schedule. Schedule optimization is the process of searching for the optimal schedule among the very large set of legal schedules. There are a variety of different types of algorithms for performing this search. The major differentiators between different scheduling algorithms are (i) the quality of the schedules they find, (ii) the amount of computation time required to find these schedules, and (iii) the ease with which they can be adopted to a particular scheduling problem. There is no single type of scheduling algorithm that is best for all problems. Which algorithm is best depends on a variety of factors, including the nature of the problem, the required quality of the solution, and the time allowed to find a solution. For example, the airline flight scheduling problem, where a new schedule is required about once a month and where every percentage point difference in the schedule translates into millions of dollars, might best be solved by an operations research technique (such as mathematical programming) that takes a long time but finds the best schedule. However, our computer service scheduling problem (see above) that requires a new schedule every ten minutes needs a faster algorithm (at the expense of some schedule optimality), such as a genetic/evolutionary algorithm or a simple heuristic. We have found genetic algorithms to be a highly effective all-purpose optimization method for a few reasons. First, they are easy to apply to almost any optimization problem, including those with odd constraints that may derail other algorithms. Second, compared to other general-purpose optimization techniques, including standard operations research techniques, genetic algorithms are fast at finding good (albeit often suboptimal) solutions, particularly as the problem size increases. Third, genetic algorithms allow an explicit tradeoff between the search time and the quality of the solution. Fourth, genetic algorithms, with their population-based approach, allow for easy and effective large-scale parallelization. Once you have chosen to use a genetic or evolutionary algorithm, there are a number of algorithmic design decisions to be made (and usually some software to be written). The most critical decisions are how to represent a schedule as a chromosome and how to define the genetic operators (often crossover and mutation) that generate new chromosomes from existing ones. A direct representation has a chromosome be the schedule, or at least an abstract version of the schedule. In this case, the difficult part is defining operators that maintain the hard constraints. An indirect representation has a chromosome provide information on how to build a schedule that is passed to a schedule builder. Here, the knowledge of how to satisfy the constraints
3 is contained in the schedule builder. A chromosome in an indirect representation can be as simple as the order in which the schedule builder should consider the tasks, but can also contain more complex instructions. Besides the representation and operators, there are some secondary, yet still important, considerations in designing a genetic schedule optimizer. One such consideration is how to initialize the population. Particularly when using a direct representation, it can be highly beneficial to use better-than-random individuals during initialization. Another consideration is how to select parameters of the genetic algorithm, including those for population size, selection pressure, and termination condition. These directly influence the tradeoff between schedule quality and execution time and should be selected based on the problem requirements and the available hardware. 4 KNOWLEDGE ENGINEERING One of the big challenges of building automated scheduling systems is that most scheduling problems are unique, with a logic and a set of business rules that are different from other problems. For many problems, the logic and business rules are complex and not well documented, so it becomes a major challenge of the project to capture them in a systematic way. Currently, for many scheduling processes, humans do the scheduling manually, and the logic for how to do it only fully exists in their brains. The scheduling system developer needs to extract this knowledge. Using the right approach can help to do this, as well as providing a chance to gain the good graces of the experts, who are often also the intended end users of the system. The experts can be resistant at first due to the feeling that an algorithm cannot capture their expertise. However, if you get them involved in the development process, they will often eventually develop a pride of ownership. You need to ask the right questions to get the right information. One good approach is to have the experts step through the entire (current) scheduling process. Another good question is to ask what makes a good schedule, and to supply a variety of different hypothetical situations to try to capture the concept of schedule quality as thoroughly as possible. A third question is what type of hard constraints must a schedule satisfy. Capturing the scheduling logic and business rules is an iterative redesign process. Do not expect to achieve success on the first pass. Instead, just implement the business rules as you have captured them, and execute the scheduling algorithm on sample data. When the algorithm fails in a (human-)noticeable way, it usually is not because the algorithm is reaching a suboptimal solution (at least not if you are using a genetic algorithm) but rather because of bad business rules. Work with the experts to identify the problem, fix it, and then repeat the process. 5 INTEGRATION WITH IT SYSTEMS Since scheduling is often at the center of operations for an organization, an automated scheduling system often must interact with some of the organization s critical IT systems. Even when the scheduling system is at the periphery of operations, it must get its data from somewhere and therefore, unless the user enters the data, must interface with other system(s). There are a variety of types of data for input and output. The scheduling system needs to read the data about the tasks and resources, usually from some existing databases (such as a personnel database or an orders database). Often, the scheduling system also needs to report the schedule as it was executed for the purposes of billing, payroll, etc., and hence needs to communicate with some other system(s). A third type of interface is for monitoring the schedules during execution. This involves the scheduling system receiving feedback so that it can update the schedule based on reported deviations, such as a service call taking longer than expected or a mission getting delayed. It is important to define data requirements early in the development process. Then, all involved, including the IT people, know what types of data feeds are needed, as well as estimates on the data rates. If this is going to overtax the existing systems in any way, then there is time to remedy this problem. It is also important to define the formats and protocols for the interfaces early in the process. To the extent possible, the scheduling system should use existing interfaces. However, for those cases where it is not possible, it is important to identify the shortcomings and define new interfaces or extensions to old interfaces soon enough that there is enough time for their development. Our experience has been that introducing real-time scheduling at the center of an organization s operations can identify deficiencies in the organization s IT systems. Correcting those deficiencies can improve operations as much as the automated scheduler itself. For example, for our computer service scheduling system, the company had previously handed service engineers their schedules at the beginning of the day and had only contacted them during the day in case of an emer-
4 gency. To perform automated scheduling, they had to create the capability to track the service engineers during their day s work, and this capability provided them large benefits beyond better schedules. 6 ALGORITHMIC TEST CASES Test cases are a standard technique for software quality assurance. They provide scenarios to verify that the software is functioning as envisioned. For an automated scheduling system, it is important to have a set of test cases specifically designed to test the correctness of the scheduling algorithm in addition to those for testing the software. As new logic and business rules are added to improve the scheduling algorithm in certain areas, the test cases allow regression testing to verify that these changes have not caused problems in other areas. The test cases can also be very useful in convincing skeptics that the software can make good decisions. The test cases should cover, in some sense, the full range of possibilities that can be encountered by the scheduling algorithm. For each class of business rules, there should be one or more test cases that specifically address this rule. These targeted test cases need to be manufactured so that all else is factored out and so that there is a clearly defined correct answer. A second set of test cases should address tradeoffs made in the optimization criterion. It is often tricky to tune the tradeoffs between the different objectives in a multiobjective optimization function, and these test cases allow a systematic approach to this tuning. A third set of test cases deal with scalability and the ability to handle real, rather than manufactured, data. These test cases should contain at least one or two datasets that are as large a problem as the system will be expected to handle. These test cases will have no single correct answer, but the ability of the scheduling algorithm to produce reasonable answers within a time limit provides a type of check that smaller, manufactured datasets cannot. 7 SYSTEM DESIGN AND IMPLEMENTATION One big decision to make when designing a scheduling system is what the software architecture should be. For a scheduling system that has multiple users and external data sources and sinks, a client-server architecture is what makes most sense. A central sever has a database that contains the current data and schedule. The user interfaces, external data interfaces, and the automated scheduler are all clients reading from and writing to the central database. Using a web server as the central server and web browsers as the user interfaces can make maintenance and update of the system much easier at the expense of reduced interactivity in the user interface. Another big decision is whether to use third-party software or build the system from scratch. There are many scheduling software packages available for sale, or even for free download via the Internet. Most of these scheduling packages solve a particular type of scheduling problem, e.g. crew scheduling or tournament scheduling. If such a package satisfies the needs of your problem and is available within your price range, then use it instead of developing your own. In addition to problem-specific scheduling solutions, there exist reconfigurable scheduling systems that can be tailored by the user to a wide range of different types of problems. For scheduling problems that can be formulated as mathematical programming problems, there are a variety of general-purpose solvers, many based on AMPL [Fourer et al., 1993], including ILOG s CPLEX product. For those scheduling problems that cannot be expressed as mathematical programming problems, there are two reconfigurable scheduling packages with much greater flexibility in expressing constraints. ILOG sells a constraintbased scheduling product based on OPL [Van Hentenryck, 1999]. We provide our Vishnu genetic-algorithmbased scheduling software for free download [Montana, 2001b]. While the ILOG product is more mature, Vishnu is free and is provided open source (hence allowing the user to customize the software). An alternative to buying or downloading a full scheduling system is to just download a genetic algorithm (or other optimization algorithm) package. This will save some time developing the scheduling algorithm (although you will still have plenty of customization to do). However, if you are developing a full distributed system, the time savings will be a very small fraction of the overall development time because you will still need to develop the distributed infrastructure, the database, the user interface, the data interfaces, etc. These other pieces of the system are what take the majority of the development time. One other thing to remember when designing and implementing an automated scheduling system is that it is still a software system and all the standard rules for developing such systems still apply.
5 8 FUTURE TRENDS The use of evolutionary algorithms for real-world scheduling applications has been very successful, to the point where it is now almost commonplace. The goal for the future is to extend the range of applicability of evolutionary scheduling, particularly to problems that were previously not amenable to automated, optimized scheduling. There are two directions in which to proceed. One direction is to make it cheaper and easier to develop automated scheduling systems so that the technology can be applied to more problems [Montana, 2001a]. The high costs of developing a scheduling system largely from scratch (plus the training and maintenance for such a system) mean that such development can only be justified when there is a lot of money depending on the schedules. Replacing custom development with reusable software would greatly reduce these costs and open up the range of possible applications. There is currently the beginnings of a push towards reconfigurable schedulers, i.e. automated optimizing schedulers that can be used for a wide range of scheduling problems without the need for modifying the software. It would also be beneficial to have open standards to allow easy swapping of scheduling components, but that is not on the near-term horizon. A second direction is towards multiple schedulers interacting. This enables two important capabilities. One is the ability to solve larger-scale problems by decomposing them into smaller problems. The second, and more important, is the ability of multiple organizations to automatically coordinate their schedules [Montana et al., 2000]. This is critical to fully automated flexible supply chains and other forms of automated businessto-business (B2B) transactions that rely on fitting the transaction into multiple schedules. [Montana et al., 2000] D. Montana, J. Herrero, G. Vidaver, and G. Bidwell. A multiagent society for military transporation scheduling. Journal of Scheduling, 3(4): , [Montana, 2001a] D. Montana. Optimized scheduling for the masses. In Genetic and Evolutionary Computation Conference Workshop Program, pages , [Montana, 2001b] D. Montana. A reconfigurable optimizing scheduler. In Proceedings of the Genetic and Evolutionary Computation Conference, pages , [Rana-Stevens et al., 2000] S. Rana-Stevens, B. Lubin, and D. Montana. The air crew scheduling system: The design of a real-world, dynamic genetic scheduler. In Genetic and Evolutionary Computation Conference Late Breaking Papers, [Van Hentenryck, 1999] P. Van Hentenryck. The OPL Optimization Programming Language. MIT Press, Cambridge, MA, References [Fourer et al., 1993] R. Fourer, D. Gay, and B. Kernighan. AMPL: A Modeling Language for Mathematical Programming. Duxbury Press, Belmont, CA, [Montana et al., 1998] D. Montana, M. Brinn, S. Moore, and G. Bidwell. Genetic algorithms for complex, real-time scheduling. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics, pages , 1998.
Software Development Life Cycle
4 Software Development Life Cycle M MAJOR A J O R T TOPICSO P I C S Objectives... 52 Pre-Test Questions... 52 Introduction... 53 Software Development Life Cycle Model... 53 Waterfall Life Cycle Model...
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
VI. The Feasibility Study. The Feasibility Study Phase
VI. The Feasibility Study What is a feasibility study? What to study and conclude? Benefits and costs Cost/Benefit analysis Accounting methods Comparing alternatives Do it! 2002 Jaelson Castro and John
Information Systems Development Process (Software Development Life Cycle)
Information Systems Development Process (Software Development Life Cycle) Phase 1 Feasibility Study Concerned with analyzing the benefits and solutions for the identified problem area Includes development
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
Optimization applications in finance, securities, banking and insurance
IBM Software IBM ILOG Optimization and Analytical Decision Support Solutions White Paper Optimization applications in finance, securities, banking and insurance 2 Optimization applications in finance,
Developing a Load Testing Strategy
Developing a Load Testing Strategy Michele Ruel St.George Bank CMGA 2005 Page 1 Overview... 3 What is load testing?... 4 Scalability Test... 4 Sustainability/Soak Test... 4 Comparison Test... 4 Worst Case...
Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities
Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different
Data warehouse and Business Intelligence Collateral
Data warehouse and Business Intelligence Collateral Page 1 of 12 DATA WAREHOUSE AND BUSINESS INTELLIGENCE COLLATERAL Brains for the corporate brawn: In the current scenario of the business world, the competition
Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems
Questions What is the life cycle of a software product? Why do we need software process models? What are the goals of a software process and what makes it different from other industrial processes? Software
Lecture 8. Systems engineering L E C T U R E. SIMILAR process. Zuzana Bělinová. Faculty of Transportation Sciences, CTU in Prague
L E C T U R E 8 SIMILAR process LECTURE 8 - OVERVIEW Theoretical foundations of many methodologies - Typical SE process SYSTEMS ENGINEERING BASIC FACTS Systems Engineering is responsible for creating a
Integrated Direct Marketing Services
Integrated Direct Marketing Services 5 BASIC COMPONENTS OF A LEAD MANAGEMENT PROCESS: Tips & Techniques for Better Return on Your Marketing and Sales Activities Jana L. Hyde Marketing Director 0104500-003R01
D A T A M I N I N G C L A S S I F I C A T I O N
D A T A M I N I N G C L A S S I F I C A T I O N FABRICIO VOZNIKA LEO NARDO VIA NA INTRODUCTION Nowadays there is huge amount of data being collected and stored in databases everywhere across the globe.
In the case of the online marketing of Jaro Development Corporation, it
Chapter 2 THEORETICAL FRAMEWORK 2.1 Introduction Information System is processing of information received and transmitted to produce an efficient and effective process. One of the most typical information
Prescriptive Analytics. A business guide
Prescriptive Analytics A business guide May 2014 Contents 3 The Business Value of Prescriptive Analytics 4 What is Prescriptive Analytics? 6 Prescriptive Analytics Methods 7 Integration 8 Business Applications
A Brief Study of the Nurse Scheduling Problem (NSP)
A Brief Study of the Nurse Scheduling Problem (NSP) Lizzy Augustine, Morgan Faer, Andreas Kavountzis, Reema Patel Submitted Tuesday December 15, 2009 0. Introduction and Background Our interest in the
Development Testing for Agile Environments
Development Testing for Agile Environments November 2011 The Pressure Is On More than ever before, companies are being asked to do things faster. They need to get products to market faster to remain competitive
The Make vs. Buy Scenario: Reducing Total Cost and Improving Time to Market
The Make vs. Buy Scenario: Reducing Total Cost and Improving Time to Market By Ben Furnish Product Manager: Linear Motion Products Parker Hannifin s Electromechanical Automation Division Introduction Should
How To Write Software
Overview of Software Engineering Principles 1 Software Engineering in a Nutshell Development of software systems whose size/ complexity warrants a team or teams of engineers multi-person construction of
VI. The Feasibility Study. Do it!
VI. The Feasibility Study What is a feasibility study? What to study and conclude? Benefits and costs Cost/Benefit analysis Accounting methods Comparing alternatives Do it! 2003 Giorgini The Feasibility
Lesson 1 Introduction to Rapid Application Development using Visual Basic
Lesson 1 Introduction to Rapid Application Development using Visual Basic RAD (Rapid Application Development) refers to a development life cycle designed to give much faster development and higher-quality
Bachelor of Information Technology (Incorporating Diploma in Information Technology (Levels 5 and 6)
Bachelor of Information Technology (Incorporating Diploma in Information Technology (Levels 5 and 6) Programme Structure STAGE ONE This stage makes up the Diploma in Information Technology (Level 5) 120
Web Integration Technologies
Web Integration Technologies Application and Benefits Introduction In every corporation, the browser has become the most prominent and effective means to access applications systems and the data they provide.
Integration Maturity Model Capability #5: Infrastructure and Operations
Integration Maturity Model Capability #5: Infrastructure and Operations How improving integration supplies greater agility, cost savings, and revenue opportunity TAKE THE INTEGRATION MATURITY SELFASSESSMENT
Achieving Business Analysis Excellence
RG Perspective Achieving Business Analysis Excellence Turning Business Analysts into Key Contributors by Building a Center of Excellence Susan Martin March 5, 2013 11 Canal Center Plaza Alexandria, VA
Customer Service Improvement Case Studies. Memorandum 706
Customer Service Improvement Case Studies Memorandum 706 Customer Service Improvement Case Studies Customer service can mean different things to various people, but the focus should always be the same
Data Mining for Manufacturing: Preventive Maintenance, Failure Prediction, Quality Control
Data Mining for Manufacturing: Preventive Maintenance, Failure Prediction, Quality Control Andre BERGMANN Salzgitter Mannesmann Forschung GmbH; Duisburg, Germany Phone: +49 203 9993154, Fax: +49 203 9993234;
CHAPTER 24 SOFTWARE PROJECT SCHEDULING. Overview
CHAPTER 24 SOFTWARE PROJECT SCHEDULING Overview The chapter describes the process of building and monitoring schedules for software development projects. To build complex software systems, many engineering
System Development and Life-Cycle Management (SDLCM) Methodology. Approval CISSCO Program Director
System Development and Life-Cycle Management (SDLCM) Methodology Subject Type Standard Approval CISSCO Program Director A. PURPOSE This standard specifies content and format requirements for a Physical
Inventory Analysis Using Genetic Algorithm In Supply Chain Management
Inventory Analysis Using Genetic Algorithm In Supply Chain Management Leena Thakur M.E. Information Technology Thakur College of Engg & Technology, Kandivali(E) Mumbai-101,India. Aaditya A. Desai M.E.
Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology
Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room
SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems
SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems Executive Summary This white paper examines the challenges of obtaining timely review feedback and managing
Dynamic Change Management for Fast-tracking Construction Projects
Dynamic Change Management for Fast-tracking Construction Projects by Moonseo Park 1 ABSTRACT: Uncertainties make construction dynamic and unstable, mostly by creating non value-adding change iterations
Web Application Regression Testing: A Session Based Test Case Prioritization Approach
Web Application Regression Testing: A Session Based Test Case Prioritization Approach Mojtaba Raeisi Nejad Dobuneh 1, Dayang Norhayati Abang Jawawi 2, Mohammad V. Malakooti 3 Faculty and Head of Department
Achieving Business Analysis Excellence
RG Perspective Achieving Business Analysis Excellence Turning Business Analysts into Key Contributors by Building a Center of Excellence 11 Canal Center Plaza Alexandria, VA 22314 HQ 703-548-7006 Fax 703-684-5189
Spare Parts Inventory Model for Auto Mobile Sector Using Genetic Algorithm
Parts Inventory Model for Auto Mobile Sector Using Genetic Algorithm S. Godwin Barnabas, I. Ambrose Edward, and S.Thandeeswaran Abstract In this paper the objective is to determine the optimal allocation
A PRACTICAL GUIDE TO COST SAVINGS WITH VIRTUALIZATION
15770 Dallas Parkway, Suite 1100, LB 28 Dallas, Texas 75248 tel 214.739.5454 fax 214.739.5455 www.fusionlabs.net A WHITE PAPER TITLED: A PRACTICAL GUIDE TO COST SAVINGS WITH VIRTUALIZATION TABLE OF CONTENTS
10 Steps to Building a More Profitable Construction Business. Leslie Shiner, MBA Sage Certified Consultant
10 Steps to Building a More Profitable Construction Business Leslie Shiner, MBA Sage Certified Consultant Introduction is a pragmatic approach to developing business practices that result in greater profitability.
Information Broker Agents in Intelligent Websites
Information Broker Agents in Intelligent Websites Catholijn M. Jonker, Jan Treur Vrije Universiteit Amsterdam, Department of Artificial Intelligence De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands
BEHAVIOR BASED CREDIT CARD FRAUD DETECTION USING SUPPORT VECTOR MACHINES
BEHAVIOR BASED CREDIT CARD FRAUD DETECTION USING SUPPORT VECTOR MACHINES 123 CHAPTER 7 BEHAVIOR BASED CREDIT CARD FRAUD DETECTION USING SUPPORT VECTOR MACHINES 7.1 Introduction Even though using SVM presents
MEng, BSc Applied Computer Science
School of Computing FACULTY OF ENGINEERING MEng, BSc Applied Computer Science Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give a machine instructions
Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice
Life-Cycle Model Software Life-Cycle Models Xiaojun Qi It specifies the various phases/workflows of the software process, such as the requirements, analysis (specification), design, implementation, and
And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?
System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in
The Intelligent Data Network: Proposal for Engineering the Next Generation of Distributed Data Modeling, Analysis and Prediction
Making Sense of your Data The Intelligent Data Network: Proposal for Engineering the Next Generation of Distributed Data Modeling, Analysis and Prediction David L. Brock The Data Center, Massachusetts
The Software-defined Data Center in the Enterprise
The Software-defined Data Center in the Enterprise A Cloud Report by Ben Kepes This report underwitten by: NIMBOXX The Software-defined Data Center in the Enterprise 02/12/2015 Table of Contents 1. Executive
U.S. Dept. of Defense Systems Engineering & Implications for SE Implementation in Other Domains
U.S. Dept. of Defense Systems Engineering & Implications for SE Implementation in Other Domains Mary J. Simpson System Concepts 6400 32 nd Northwest, #9 Seattle, WA 98107 USA Joseph J. Simpson System Concepts
V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919
Software Quality Assurance in CMM and XP- A Comparative Study CH.V. Phani Krishna and Dr. K.Rajasekhara Rao CSE Department, KL University, Guntur dt., India. Abstract Software Quality Assurance is a planned
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
A Framework for Software Product Line Engineering
Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product
Service Virtualization:
Service Virtualization: Reduce the time and cost to develop and test modern, composite applications Business white paper Table of contents Why you need service virtualization 3 The challenges of composite
How Configuration Management Tools Address the Challenges of Configuration Management
Streamlining Configuration Management The Essentials Series How Configuration Management Tools Address the Challenges of Configuration Management sponsored by Introduction to Realtime Publishers by Don
CONTINUOUS DIAGNOSTICS BEGINS WITH REDSEAL
CONTINUOUS DIAGNOSTICS BEGINS WITH REDSEAL WHAT IS CDM? The continuous stream of high profile cybersecurity breaches demonstrates the need to move beyond purely periodic, compliance-based approaches to
WHITE PAPER. The 7 Deadly Sins of. Dashboard Design
WHITE PAPER The 7 Deadly Sins of Dashboard Design Overview In the new world of business intelligence (BI), the front end of an executive management platform, or dashboard, is one of several critical elements
Utilizing Domain-Specific Modelling for Software Testing
Utilizing Domain-Specific Modelling for Software Testing Olli-Pekka Puolitaival, Teemu Kanstrén VTT Technical Research Centre of Finland Oulu, Finland {olli-pekka.puolitaival, teemu.kanstren}@vtt.fi Abstract
The use of Trade-offs in the development of Web Applications
The use of Trade-offs in the development of Web Applications Sven Ziemer and Tor Stålhane Department of Computer and Information Science Norwegian University of Technology and Science {svenz, stalhane}@idi.ntnu.no
3 Keys to Preparing for CRM Success: Avoid the Pitfalls and Follow Best Practices
CRM Expert Advisor White Paper 3 Keys to Preparing for CRM Success: Avoid the Pitfalls and Follow Best Practices Ten years ago, when CRM was nascent in the market, companies believed the technology alone
Implementation of ANSI/AAMI/IEC 62304 Medical Device Software Lifecycle Processes.
Implementation of ANSI/AAMI/IEC 62304 Medical Device Software Lifecycle Processes.. www.pharmout.net Page 1 of 15 Version-02 1. Scope 1.1. Purpose This paper reviews the implementation of the ANSI/AAMI/IEC
A Flexible Mixed Integer Programming framework for Nurse Scheduling
A Flexible Mixed Integer Programming framework for Nurse Scheduling Murphy Choy Michelle Cheong Abstract In this paper, a nurse-scheduling model is developed using mixed integer programming model. It is
Virtual Platforms Addressing challenges in telecom product development
white paper Virtual Platforms Addressing challenges in telecom product development This page is intentionally left blank. EXECUTIVE SUMMARY Telecom Equipment Manufacturers (TEMs) are currently facing numerous
Business Process Discovery
Sandeep Jadhav Introduction Well defined, organized, implemented, and managed Business Processes are very critical to the success of any organization that wants to operate efficiently. Business Process
Prokrustes säng. och HMI-design
COGNITIVE SYSTEMS ENGINEERING ORATORY Prokrustes säng och HMI-design Erik Hollnagel Cognitive Systems Engineering Laboratory () Department of Computer and Information Science University of Linköping, Sweden
Software Engineering. Objectives. Designing, building and maintaining large software systems
Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software
MEng, BSc Computer Science with Artificial Intelligence
School of Computing FACULTY OF ENGINEERING MEng, BSc Computer Science with Artificial Intelligence Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give
System/Data Requirements Definition Analysis and Design
EXECUTIVE SUMMARY This document provides an overview of the Systems Development Life-Cycle (SDLC) process of the U.S. House of Representatives. The SDLC process consists of seven tailored phases that help
Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
ANALYTICS STRATEGY: creating a roadmap for success
ANALYTICS STRATEGY: creating a roadmap for success Companies in the capital and commodity markets are looking at analytics for opportunities to improve revenue and cost savings. Yet, many firms are struggling
8 Common Myths About Performance Testing in Production Don t Let These Misconceptions Keep You From Production Testing.
8 Common Myths About Performance Testing in Production Don t Let These Misconceptions Keep You From Production Testing White Paper Table of Contents Myth #1: Production testing = live testing... 1 Myth
AS-D1 SIMULATION: A KEY TO CALL CENTER MANAGEMENT. Rupesh Chokshi Project Manager
AS-D1 SIMULATION: A KEY TO CALL CENTER MANAGEMENT Rupesh Chokshi Project Manager AT&T Laboratories Room 3J-325 101 Crawfords Corner Road Holmdel, NJ 07733, U.S.A. Phone: 732-332-5118 Fax: 732-949-9112
Role of Analytics in Infrastructure Management
Role of Analytics in Infrastructure Management Contents Overview...3 Consolidation versus Rationalization...5 Charting a Course for Gaining an Understanding...6 Visibility into Your Storage Infrastructure...7
Chapter 7 - Project Scheduling and Tracking
Chapter 7 - Project Scheduling and Tracking Overview The chapter describes the process of building and monitoring schedules for software development projects. To build complex software systems, many engineering
Aircraft & Defense Vehicle Simulation Lab
Understanding Advanced System Integration Labs: -Centric System Integration This paper examines how successful aerospace and defense organizations are changing their processes to apply simulationbased
Simulation Software: Practical guidelines for approaching the selection process
Practical guidelines for approaching the selection process Randall R. Gibson, Principal / Vice President Craig Dickson, Senior Analyst TranSystems I Automation Associates, Inc. Challenge Selecting from
Business Intelligence and Big Data Analytics: Speeding the Cycle from Insights to Action Four Steps to More Profitable Customer Engagement
white paper Business Intelligence and Big Data Analytics: Speeding the Cycle from Insights to Action Four Steps to More Profitable Customer Engagement»» Summary For business intelligence analysts the era
Temkin Group Insight Report
ROI of Customer, 2014 CX Highly Correlates to Loyalty Across 19 Industries, Delivers Up To $460M Over 3 Years By Bruce Customer Transformist & Managing Partner Group September 2014 Group [email protected]
A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.
Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 [email protected] Abstract This paper presents an
Unicenter Desktop DNA r11
Data Sheet Unicenter Desktop DNA r11 Unicenter Desktop DNA is a scalable migration solution for the management, movement and maintenance of a PC s DNA (including user settings, preferences and data.) A
Systems Engineering Complexity & Project Management
Systems Engineering Complexity & Project Management Bob Ferguson, PMP NDIA: CMMI Technology Conference November 2007 Outline A conversation Defining complexity and its effects on projects Research into
MANAGING USER DATA IN A DIGITAL WORLD
MANAGING USER DATA IN A DIGITAL WORLD AIRLINE INDUSTRY CHALLENGES AND SOLUTIONS WHITE PAPER OVERVIEW AND DRIVERS In today's digital economy, enterprises are exploring ways to differentiate themselves from
Productivity and Return on Investment from COSMOS Finite Element Analysis Software
Productivity and Return on Investment from COSMOS Finite Element Analysis Software Prepared by: MIT Sloan School of Management Report prepared for: Structural Research & Analysis Corporation Prepared by:
Software Engineering. So(ware Evolu1on
Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers
Leveraging CMMI framework for Engineering Services
Leveraging CMMI framework for Engineering Services Regu Ayyaswamy, Mala Murugappan Tata Consultancy Services Ltd. Introduction In response to Global market demand, several OEMs adopt Global Engineering
Extend the value of your core business systems.
Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems
Information Technology Specialist - Band A. Class Specifications Demonstration Project
Information Technology Specialist Class Specifications Demonstration Project (910Axx, 910Bxx, 910Cxx, 910Dxx) 9104A, 9104B, 9104C, 9104D I. Definition The Information Technology Specialist series is characterized
10 How to Accomplish SaaS
10 How to Accomplish SaaS When a business migrates from a traditional on-premises software application model, to a Software as a Service, software delivery model, there are a few changes that a businesses
