Wednesday, June 5, 2019

The Process Of Time Table Construction Computer Science Essay

The Process Of Time Table Construction Computer Science EssayThe process of quantify-table construction sack up elevate to be a hectic chore considering the frame of cohorts argumentations and the modules subjects offered by a precise university. This is mainly beca utilization, in that respect could be a deadlock in each(prenominal)otment of the schedule considering all the restraints to be genial .This requires logical thinking which definitely consumes a large amount of time. Moreover, identification of the inconsistencies and their respective solutions sack prove to be disastrous.Initially , the task of time table computer programming was done manually .This proved to be troublesome ,error-prone and time consuming .To overcome these problems , machine-controlled interrogatory time-table generation has come to light. With a wider range of choices available to the pupils in the selection of modules subjects and cohorts courses of their choice , the flexibility of the University improves but at the identical time , the task of time-table creation becomes merely complicated .However , a softw atomic number 18 which corporation consider all the shynesss and cross faculty modules latter includes the modules instituten by scholars from various facultiesas well , is of coarse help. Thus ,the scientific society has given considerable attention to automated time-table generation from the last four decades .One of the most primitive ones used the concepts of one or more of the pastime operational methodologiesne devilrk flow techniquesreduction to graph coloringinteger computer computer programingdirect heuristics and moreThe latest technology uses mature techniques comparable expert systems which work on the concept of artificial intelligence, logic programming which uses languages like Prolog, restraint logic programming and generic evolutionary algorithms .However , at that place is no universally accepted language for time-table cre ation. Several attempts moderate been made to formulate one but these be left incomplete.In this softw are , the constraint contentment is 99% .Moreover , the interface positive is use prosperous where in the user doesnt have to enter the names of the cohorts and modules which he wishes to opt for as he john just select the same from the cut back down lists .WHAT IS CONSTRAINT SATISFACTION?Constraint satisfaction was first introduced in artificial intelligence .This is a logical problem solving language merged with a programming language which is used to solve a given problem with a specific solidifying of constraints. This deals with the assignment of certain values to the variables while meeting certain conditions. It is represented as a set of variables Xi and a set of constraints Ci where each constraint specifies a subset of variables and an allowable junto of these.In this project some of the main constraints which are to be considered are as belowStudents belong to different cohorts but studying a common module must have the exam on the same day.No two modules of the same cohorts poop have their respective exams on the same dayOne of the soft constraints is that no two exams of the same cohort must be on the same dayThus, these are satisfied before the software is deployed .The techniques used in constraint satisfaction are purely dependent on the constraints. Constraints specific to a finite domain are solved using search strategies in the form of backtracking or local search. Constraint denotation is yet another technique which is used but however is sometimes incomplete. That is it either solves the problem or proves and declares it unsatisfiable .These methods are combined with the search strategies to simplify the process.There are some constraint programming libraries which can be included in this project. Since chocolate is the platform we split the project on, Choco is an appropriate library which can be easily used with Java pro gramming .it is an event based propagating system with backtrack structures. More on Choco is discussed in the later sections on the report.BRUTE FORCE techniqueBrute force technique is a process of finding the result by taking all the possible inputs i.e., a trial and error process. If a taken Input yields the correct result then it is treated as the correct input. If not then it goes for the bordering input until we get the correct result.We can consider knapsack problem as an example of a brute force technique. Knapsack problem generally means a bag which should be filled with weights that should yield supreme profit. The most implicit constraint of knapsack problem is to maximize profit with minimum weight.Let us say there a four types of materials as follows fortunate , silver , platinum and bronze with profit values of 1000,10,2000 and 5 and weights of 2,3,4,5 .Thief want more profit with his minimum cleverness bag let us say it can fit 5.So he applies the brute force tec hnique to get maximum profit.First he fills the bag with gold which weights 2 and then goes for silver which weights 3 here the bag is full and yielding the profit of 1000+10=1010.Now he tries of another combination i.e., he selects platinum which weights 4 and now the rest of the bag is only one so he can select the part of gold which weights 1 thus the bag is filled with yielding 2000+500=2500 .In this manner different combinations are tried until the max profit is yielded.CHAPTER 2Aims and ObjectivesThe manual process of generating exam timetable by taking all constraints into consideration is very much time taking and difficult process. So the main aim of this project is to build a software tool to create exam timetables for a university or a school and the application should be user friendly and should satisfy all the constraints.The picture explanation of this is as followsFirst analyze the manual process in developing exam time table that is following in schools and univers ities.This analysis helps us in developing the software tool.After analyzing the manual process we should make a list of all possible constraints which should be satisfied by the develop system.We should identify all the constraints that should be satisfied by our developed system and we should analyze them which is helpful in developing the software product.To gain an understanding of constraint satisfaction tool like choco which we are using in the festering process.The developed product should be user friendly, so that user can use the system easily.In AUTOMATED EXAM TIME TABLE product the user should input the cohort name and module name.Instead of typing the full cohort and module name we should put a dropdown list where user selects from it. By this we can eliminate the incorrect typing.The developed product should satisfy constraints like two exams of the same year of both semesters should not be on the same day.Every savant should get their exams on alternate days only. all in all such type of major constraints should be satisfied by our product.MOTIVATIONMost of the people are interested in compete chess. By playing chess we can improve our concentration power. We have an thinker of creating code for playing chess. As chess is played by two fakes one player is automated and another player plays manually. Here constraint satisfaction is used because there are certain conditions like elephant should have only straight moves, spend should have one step straight move etcetera, we have to design our code by satisfying these conditions.Our program is used by the player in the absence of his partner. This player makes use of graphical user interface to opt his plots against other player which makes use of our code. So here artificial intelligence is used. This idea motivated us for designing automated examination time tabling software.FEATURES trials are scheduled such that no two exams are overlapped for the same disciple.Students are communicate in case of any changes in the examination schedule like postponement, or preponement etc.User can save entropy so that he can view the application if he reopens it again.Students are allotted examination halls in a proper way so that a single student is not allotted in two different rooms.Proper allotment of staff in examination halls.Student can post his problems regarding exams.User can add modules to this software if they are relevant to this software.KEY TECHNIQUES coffee bean PROGRAMMINGJAVA is the language which has many a(prenominal) features like multithreading, platform dependent, simple, robust, object oriented etc. Java is portable and performance levels of it are too high.Java concepts are very simple and understandable.Exceptions are as well perfectly managed by Java.selective informationbase connectivity, GUI, IO packages is the main concepts overdue to which we go for chocolate programming.CONSTRAINT SATISFACTION PROGRAMMING USING CHOCOCHOCO is a java library wh ich is mainly used for constraint satisfaction.CHOCO is based on events which have the capability of backtracking. It can be used for many purposes like teaching, researching etc. So by using this constraint satisfaction programming we can develop the exam time table perfectly.ORACLE DATABASE FOR DATA STORAGE AND RETRIEVALDatabase is a collection of entities. Data is a collection of similar raw information. Data is represented with the help of views or tables. View is not a physical entity. It is the representation for shadow of tables. vaticinator database is mainly used for data storage and retrieval. That is data is stored in a place and in future if we want that data we can easily retrieve it.For developing the exam timetable in a university the above three key techniques are very very important and by using these techniques only the development processing of timetable can be done perfectly. outline REQUIREMENTSThere are two types of system requirements software and hardware.SO FTWARE REQUIREMENTSBased on the operating(a) system many things may depend. So selection of operating system plays very important role. WINDOWS XP operating system is the most appropriate operating system for software requirements of developing exam timetable.Oracle 10g relational database circumspection system is also one of the software requirements.For developing the JAVA code My Eclipse Tool is the most suitable software requirement.For constraint satisfaction programming the preferred version is CHOCO 2.1.0.These are the minimum and most important software requirements for developing exam time table.HARDWARE REQUIREMENTSThe processor required is Pentium 111 processor with 800MHz.Oracle database 10g and Java code developing tool must be on run mode at the same time so 1GB RAM is required.20GB HDD also required as hardware requirement.These are the minimum and most important hardware requirements for developing exam time table.CHAPTER 3 administration ANALYSIS existing SystemThe timetable management of a university was initially done normally by using some primitive methods and algorithms. The planning is made by a separate of people and the timetable is fixed after certain negotiations. The university require to set the timetable for each and either student separately and then finalize the whole timetable. The Timetable that is prepared by the Examination department of that institution needs to be sent in atleast 45 days emanation to all the departments of the university and concerned affiliated colleges also. There are some issues regarding the timetable preparation. They areThe students belonging to different departments will have the subjects link to their course. The subjects may be in common for certain branches. So the timetable designer needs to have a proper idea regarding the date and time of the examinations making sure that the same subject to different departments is conducted on the same day and at the same time. This reduces the extra e ffort for preparing different sets of question papers and ensuring the same complexity of the paper.A subject may be completed in advance by certain departments and there might be certain students who had failed that certain subject. The students who have failed in the regular examinations are given a chance for composing the supplementary examinations in the next semester. There is a chance of anomaly that the regular examination of the current semester and the supplementary examination for the foregoing semester may descent on the same day and same time. So the timetable adjustment must be flexible in such a way that no student misses any of the examinations.The regular student needs to have at least a day gap in between the examinations so that he can get ample amount of time for preparation for the next examination.The availability of the invigilators also needs to be checked before computer programing a especial(a) examination. The staff members who are not assigned any cl ass work at that time are to be taken and the schedule for a accompaniment staff is to be prepared.The subject that is opted by maximum number of students is to be held as the first examination itself. The reason behind this is that, if the subject that is opted by maximum number of students is conducted at the last then there would be a problem in validating the answer scripts.So overcoming all the above mentioned issues is a hectic task. The timetable designer needs to have an idea regarding all those issues. The time taken by an individual to overcome all the above issues may take a few months of time.Proposed SystemThe proposed system of timetable management is rather a key solution for all the above mentioned issues. It gains its importance in eliminating the potential risks that are involved in the process.We can give certain number of constraints as the input and the schedule is prepared considering the constraints.The software is flexible enough for the users to enter the starting and the ending date of the examinations, the names of the students and their respective departments are present in the database and the details are retrieved accordingly. The result of the examination is automatically stored in the database for the preparation of the next semesters timetable.The proposed system is considerably quicker and more efficient.CHAPTER 4SOFTWARE TOOLS DISCUSSION1.CONSTRAINT SATISFACTIONWe have a lot of constraints which need to be inflictd and satisfied in our project. Basically CONSTRAINT SATISFACTION can be lay outd as the process of finding a solution to a set of constraints that impose conditions for which the variables must satisfy.In general terms, a solution is the set of variables that satisfies all the constraints.This can also be defined as the outcome of constraint satisfaction2. CONSTRAINT SATISFACTION PROBLEM(CSP)A CONSTRAINT SATISFACTION PROBLEM(CSP) is defined by a set of variables each having a specific domain and also a set of co nstraints each involving a set of variables. These constraints restrict the values that the variables can take. A CSP performs these two tasks simultaneously. Now coming to the solution to CSP, it is just an assignment that maps every defined variable to a value.There may be cases where you may want to find just one solution, all possible solutions or an optimum solution based on the given objective function in terms of variables.A general constraint problem consists of the followingA set of variables A=a1,a2,.anFor each variable ai, a finite domain set Di of its possible values. D=D(a1),D(a2),.D(an).A set of constraints to restrict the values that the variables can take. C=C1,C2,Cj.3. CONSTRAINTS SOLVERNow we need a constraint satisfaction tool to solve the considered constraints. This tool can be combined with any other programming languages like C,C++,JAVA etc. This tool is nothing but the constraint satisfaction libraries . As we move on with the java programming in our project, different constraint satisfaction java libraries available are given belowChocoJaCopQstudioAvayaAptanaJCLKoalogFrom above mentioned java libraries, we use choco in this project. Choco is based on an event based multiplication mechanism with an additional feature of backtracking structures which adds to its supremacy. This gives clear difference between modeling and solving a problem.4. CHOCOChoco is an open source software implemented in java program that is widely used for constraint programming and constraint satisfaction.General FeaturesChoco provides problem modeler that handles a variety of variable types that areinteger variablesreal variables that holds an interval of floats.expressions using variables with the many operators like +, -, /, * and etc.Chocos modeler supports 70 constraints some of them are listed belowArithmetical constraints (integers or real) equal, not equal, greater or equal, less or equal.Refined constraints i .e Boolean operations between constrains.It will verify the relation for a set of variables by defining the sets of tuples in the table constraints.Constraint Programming SolverConstraint programming solver providesThe different types of various domains implementations will be done (enumerated, bounded, integer variables).For constraint propagation several algorithms were implemented (parameterized cumulative, full and bound all different, state-of-the-art AC algorithms for table constraints)Chocos DesignChocos design provides clear separation between modeling and solving.In the modeling the problem will be expressed and variables and relations are defined. The verification for variable constraints for their potential implementation is done. The API is provided that facilitates how to state a problem as user friendly.In the solving phase, the problem solving is done by Constraint Programming and related information is provided. It handles specific memory management for variables and tree-based search.5. JAVAWe use choco const raint java library to build the tool. By embedding choco java library with the java programming we create the required exam timetabling tool.Java provides us many features which augments security and has many advantagesJava is designed in such a way that you can easily write the code and debug the code. Java uses the concepts of automatic memory allocation and garbage collection.As java is an object-oriented programming language, it allows objects to work together. The code written in java is reusable.Java is platform independent.This is developed by keeping security in mind. Java augments todays web with security and reliability.Because of these features we use java programming in our project. But we need an INTEGRATED growth ENVIRONMENT(IDE) to develop a java application. Lots of IDEs are available. In this project EXAM TIMETABLING with CONSTRAINT SATISFACTIO we use MyEclipse IDE.6. MyEclipse IDEMyEclipse is a commercially available JAVA EE and AJAX IDE. This is created and maint ained by the company GENUITEC. This is built on the eclipse platform. This integrates proprietary and open solutions into the development environment. MyEclipse incorporates open standard technologies to provide a development environment for J2EE, XML, UML and databases. This is an open source IDE to which you can add external jars.MyEclipse allows you to save the valuable time on debugging environment. By using MyEclipse, it is easy to edit and debug the environment.MyEclipse comes with two versions a professional and a standard edition. The standard edition adds various tools and a number of other features to the basic Eclipse Java Developer version.CHAPTER 5SYSTEM DESIGNThe development process of the modify Exam Timetabling tool for a University, we use Choco 2.1.0 version which is implemented using Java Programming.The different tasks which are pass to be implemented in the process of developing this application areDesigning lifelike User Interface(GUI).Data Calculations.Tim etable.Choco tool for Constraint Satisfaction.Step1 Designing Graphical User Interface (GUI)This process includes only Graphical User Interface part, that consists buttons, Tables, Dropdown lists and etc. These controls are arranged in the proper order to display them. fancy and feel will be implemented in this process.Step 2 Data CalculationsData Calculations part consists of code which results the final output for the Schedule of Exam Timetable. Here we implement the code with logic that works like selection of exams to be held in alternative days.Here we consider all exams of particular course and prepares a logic for Exam Timetable that includes Supplementary and Regular Exams.Step 3 TimetableTimetable process involves in the creation of a schedule that sets the examinations are allocated into venues with limited capacities at bottom an examination period.This includes the following methods.We cannot schedule a session where one student cannot taken two examinations in the sam e session.The venues capacity should not exceed from the add up number of nominees writing the exam in a schedule.Step 4 ChocoSolverChocoSolver is a java library for constraint programming and constraint satisfaction.Choco will define all the variables of time tabling problem that includes theConstraint DefinitionsCandidate InformationVenue InformationExamination informationExam Session particulars.User has to enter constraints and changes to the exams related to the particular exam or venue.Defining the ConstraintsThis program will allow the users to define all necessary constraints according to the exams.The different duration should be free for all examinations .The examination time and venue of a particular batch should be held in particular date.Venue PartitioningThis process considers the number of faculties and venues. Invigilators are allocated to particular venue for the examinations.User interface is provided for the assignment and manipulation of venue partitions to th e faculties. In venue partitioning the following points are considered in the Choco SolverThe number of students in a venue should not exceed more than the capacity.The sufficient invigilators should be allocated for the each examination hall.The attendance sheet should be provided to the invigilators to confirm the candidate is attended or not.PROBLEMS IDENTIFIED AND THEIR PROPOSED SOLUTIONSScheduling an exam time table is very difficult and time taking task because there are many constraints that should be satisfied for ex at least one day gap should be there in between two exams so that student gets time to revise, there should not be any other exam on the same day which collides with the present exam, room allocation, staff allocation, invigilator allocation . and so onAll this problems are solved in this project, this project saves a lot of time, this helps to schedule exam time table in more user friendly manner.Proposed SystemIn this project user can add any module to any co hort by using dropdown menus.Mostly we are not sure about the starting date of exams, but in this application user have chance to select the starting date of examinations.Sometimes same module may be shared by some cohorts. In this case we are going to create new time table for the module shared by different cohorts on the same day. So that time can be saved and number of invigilators can be reduced.Some student may have supplementary exams. This supplementary exam and regular exam should not be on the same day or on the incidental days. Separate schedule is created for these supplementary exams or those should be held with next intake students.This application allows user to add modules to a cohort by using drop down menus. The user can also make changes to the selected modules list.As per the date, schedule and cohort selected by user examination time table is created.As the user is allowed to choose options from drop down list provided, problems that occur due to typing mistakes can be decreased.Application development and deploymentThe steps involved in the development and deployment of application involveFormulating the data interpretation fascinate that is sufficient to handle all the requirements of the problemconverting all data available to data interpretation schemeNext step is developing the scheduling algorithm that is used to schedule the exams.The application should support the numerous last minute changes during its development and deployment easily.Application UsesThe following are the benefits of Automated Exam TimetablingThe initial implementation of program requires a lot of time for data entry and constraint specification. We can reuse the database of previous exams for next exams.Assuming that the constraints are specified correctly, the application should produce the schedule that is conflict free.We can schedule the exam timetable in a short orthodontic braces of time.We can make last minute changes in a short span of time.Shortening the exam period can make the expenses spend on conducting the exams (such as buildings, staff, etc.,) come down.The application benefits from its three tier architecture design.ConclusionAutomated Exam Timetabling software is used to schedule the university exam time table. This is reduces time and complexity involved in scheduling the exam time table manually. This document explains about the space and time complexity involved in scheduling the exam.The application developed is user friendly and it is used to give a graphical look and feel to the user for accessing and entering the information.Automated Exam Timetabling provides all the features that are required for scheduling the exam time table. Implementation of this software at different universities reduces the cost in terms of money and time.Future UsesAutomated Exam timetabling can be extended to schedule the university class time table and school time tableSchool TimetablingThis application is used for scheduling the timet ables for weekly classes at higher schools.University TimetablingThis application is used for scheduling the lectures of students of different modules in a university such that they prevent students and lecturers from double booking.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.