This discussion is archived
1 2 3 4 5 8 Previous Next 110 Replies Latest reply: Jan 31, 2011 12:45 AM by PhHein Go to original post RSS
  • 30. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    source code for university timetabling program using PROLOG
  • 31. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    hi friends my name is shashank tripathi and i am btech student of computer sci 4th year and i am working on final year project of time table genreator and i need a help. i want a coding of time table genreator in java language so pls if any one have coding in java of time table pls kindly give me on my email id shashanksid@gmail.com
  • 32. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    hi friends my name is shashank tripathi and i am
    btech student of computer sci 4th year and i am
    working on final year project of time table
    genreator and i need a help. i want a coding of
    time table genreator in java language so pls if any
    one have coding in java of time table pls kindly
    give me on my email id shashanksid@gmail.com
    So it looks like the work you're doing on your final year project is working to try and get someone else to do the project for you.
  • 33. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    Please anyone can send me an algorithm and/or code in Java for a Time Table Generator.
  • 34. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    i want time table generator algo....sent as soon possible
  • 35. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    hi i m trying to develope timetable generator for my college project. But i am not able to start on it.
    i have used this approach..
    i have taken all the possible P&C a subject can have for all the days, say eng is taught 3 days a week than 6c3 permutations. similarly for other too.
    also P&C for the teachers. now i m trying to match these condition to satisfy all rquirements. but this is not working.......please tell me furthe solutions....
    my id is me_pre@rediffmail.com
  • 36. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    can u plz mail the automatic timetable generator program?
  • 37. Re: Optimized Time table generator algorithm
    JosAH Newbie
    Currently Being Moderated
    So this thread, which started off as an interesting thread, has become
    a place for begging. How sad.

    kind regards,

    Jos
  • 38. Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    i m a final year student and doing the academic project on the same topic will you please send me the algorithm for the autaomatic timetable generator
    my email id is glakishore@gmail.com
                                                                                                                                                                                                                                                                                                                                                                                                    
  • 39. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    final year, eh. That would be what, sixth grade? Senior in high school?

    Since you don't appear to have grasped what was said in these threads, let me try to break this problem down a little more so that you can grasp it.

    I would love to send you the algorithm. I did send the algorithm. It is posted in one of the threads in this forum. You need to understand the difference between an algorithm, which is a way to approach a problem and code, which is a particular implementation of an algorithm that solves a particualr instance of a problem. We told you ways to approach the problem but we did not wirte code. There is a good reason for that.

    Since you have NOT communicated to us what the problem is that you want to solve except in very general hand waving terms, we can't do anything other than give you very general advice, and simple reading of this thread will show you that we have given much advice about this problem.

    If you are unable to follow any of that, and are still interested in help, I will help, but you must first help me help you.

    I need to know the problem you are trying to solve. You have not indicated what kind of time table you are trying to create. "automatic timetable generator" is all you list. Time table for what?

    Are you perhapse running a bycicly assembly factory and there is one single frame bending station and you need to schedule jobs and materials at the frame bending station?

    Are you running a school and you have a fixed course list and need to assign professors to teach courses, or have the professors already been assigned?

    Are you trying to assign classes to rooms or trying to assign students to classes or both?

    Do any classes have special needs, like access to audio visual equipment or chemistry lab or are all rooms and classes the same?

    Do all classes run for exactly one hour or do some of them (like lab) require more time?

    So tell me, what algorithm am I going to send you? You think one piece of code will come with the ability to solve any and all timetable problems what so ever?

    The problem you are going to solve involves what? Professors, Bicylces, Students, Courses, Materials, Costs, Sections, Rooms, Buildings, Departments, Facilities, Schedules, PersonalPreferences, Locations, Transit times, Prerequisits ... You tell me.

    If you are going to hold a solution to a problem, you MUST have buckets (those would be classes) that hold both the problem and the solution. You send me a class list of all the classes that you will need just to hold the information that you start with and all the information that you will need to hold a solution.

    All other classes, helpers that we need along the way to solve the problem we will develop as we go along.

    You are going to have to build constraints as well so start thinking about those. You can list them in english for now, like "No two professors teaching the same Section" or "No two classes with the same professor that meet at the same time of day on the same day"

    Some of these constraints you will do automatically in your class design.

    For example, consider the one about no two professors teaching the same section.

    If you design looks like this:

    class Professor
    String name;

    class Section
    String name; // like section A,B,C
    Course course; // like Math 204 - Intro Calculus
    Professor prof;

    the constraint that there is only one professor teaching a section is automatically met, because you only have a slot for one professor in the section.

    On the other hand if you decided to add to the professor class something like

    Professor
    String name
    Section[] classesIAmTeaching

    You could easily have two professors teaching the same class in which case you need a constraint like

    for all i; professor.classesIAmTeaching[ i ].prof == professor

    So be careful when you design your class structure to try to nail as many constraints as you can with no extra work. This generally means that you notice all casses where thing X can have only one thing Y and as a result you build a member y into thing X that will hold the one and only thing Y that it could have. And if X holds onto the Y than probably you don't want thing Y to hold onto the X because that would be a place where you could create inconsistencies.

    OK - there you go. You post your first shot at defining all the information that you need to work with. Don't write a single chunk of code until you have written all you classes, and have all the members that hold all the information.

    We will all be eagerly waiting to see your initial stab at a class layout, which will go a long way to defining the problem you want to solve and will go an even longer way to help convince us that you are not just another lazy *ss hoping that someone will do your work for you for free.

    I will cheerfully help you learn how to write this code. But no one is going to send you anything. There is nothing to send. There is no "automatic timetable generator"
  • 40. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    Interesting ... I have a solution for the 'automatic time table generator' for colleges and schools.However this solution is equally applicable to any time table.
    This solution will provide you with a set of numbers on alternate days such that the periods are spread out evenly for any particular subject...
    I would like to hear from you in case you have the series which i am going to talk about in this message...

    Say the number of periods per day is 'int n' and the number of working days is 5.You have to generate say 'k' series of numbers using this number 'n' ('k' denotes the number of such series which depends on the number of subjects).The number in each series indicates the possible periods which satisfy certain basic constraints.You need to generate the series such that for each series the following constraints are satisfied

    1)The number in each series is such that the first number is within 'n' and the next number say x is 2n<x<3n and the third number is such that 4n<x<5n .The fourth number however will be such that n<x<2n and the fifth number is 3n<x<4n.
    2)Each series should be such that the same number is not repeated until all the 5n numbers have occurred.

    For example let us take the number n=7.With this number we should
    generate for example the following series

    a) 1,16,31,11,26,6,21,�.
    b)1,17,33,14,23,4,20,�.

    Now please think of a formula for the series and you must generate the series that satisfy the constraints set by you .... For example in the above series .... the following constraints are met...

    a)The period number repeats every other day.
    b)the period repeats such that if 5 periods are not allocated in first round itself, then in second round there is a gap of 5 periods between the periods ...
    c)In above the series can be put to more constraints for generating the time table

    I hope this solution has been helpful to many of you.However i have a request.Please mail me the series formula along with the constraints applied by you ...
    My email id is abdullah_ak2002@yahoo.com
  • 41. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    n=7;
    k =2*n+1;
    a[ i ] = (1 + k*i)%(5*n);

    works as long as 5*k < n

    The math is simple but it is also not very useful. Sure it gives you times that are spread out like a MWF class but it does not give you a TTh or a WF, or any of the numerous other very reasonable ways to characterize a class that meets twice a week. And if you are searching in a space that does not include these options as well, you are not searching the whole space.

    By creating a series like that you are introducing artifical constraints like that all classes must start on monday and there is not much benefit in that.

    Probably better to enumerate the sets of days that are allowed and then attach values to those different sets.
  • 42. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    Hi marlin,
    I am BE frersher looking for a software job.
    I had attended an interview in a company and they assigned me a
    task to prepare a automatic time table generator using JAVA
    I hav selected Swings and back end would be MYSQL..
    I am tryng for the same from last few days..
    Specifications are:
    Number few faculties.
    Number of classes allocated to faculties like:
    "No two professors teaching the same Section" or
    "No two classes with the same professor that meet at the same
    time of day on the same day" Etc.....
    I am taking into view dat,i am generating it in
    general for Degree courses lik BE,BSc,etc....
    So,can you pleaze help me solving my problem
    and provide me code
    for the same.(Based on Java Swings and Mysql)

    My Mail-id is frailcanoe_sea@yahoo.com

    Message was edited by:
    frailcanoe
  • 43. Re: Optimized Time table generator algorithm
    800282 Newbie
    Currently Being Moderated
    So,can you pleaze help me solving my problem
    and provide me code
    for the same.(Based on Java Swings and
    Mysql
    )
    I don't think marlin314's interest lies in Swing and Databases, this is the algorithms section, you know.
    And if someone else provides the code for you, don't you think that person is entitled to get the job, and not you? If you can't do this, you shouldn't get the job, IMO. However, if you already did a big part of the assignment and are stuck on a particular part, then you can always start your own thread and ask a specific, Java related question; there are always people here that are willing to give you a hand.

    Good luck anyway.
  • 44. Re: Optimized Time table generator algorithm
    843853 Newbie
    Currently Being Moderated
    prometheuzz is correct. I don't much care about swing and even less about databases. I will kibitz on algorithm design with those that want help. I will not write code for those that don't want to write it themselves, unless of course the code is so short and I am having such a good time writing it.

    As I suggested to the last loser that came here asking for code, if you show even the slightest effort on your part to write this, I will help and I am sure others will as well.

    In fact I will help get you started. IF I were going to solve this problem, this is where I would start. I would first create a list of all the classes that I believe that I would need JUST to hold the information about the school that I am working to optimize. I might need other classes to do the optimization but I need some just to hold the data.

    So here are data elements that I believe need to be defined.

    Professor, Course, Section, Building, Room, Facilities (like audio visual, bunsen burners, nuclear reactor), Department, Student, Major, TimeSlot, DayOfWeek, TimeOfDay, SectionDay, Schedule, PreRequisites

    There may be others but that is at least a start.

    Some of these will be fairly boring, like DayOfWeek is little more than a bucket that holds an enumeration of the seven days and their names, but others will have content that you need to decide. For example let us look at Room
    class Room{
      Building bldg; // every room is in some building
      String name;  // e.g. 203 - String to allow "Conference Room 5"
      int floor; // first interesting field, why list floor? because we may later
        // want to include transit times between courses as something we
        // try to minimize and a class on the 6th floor takes extra time either
        // for the stairs or the elevator. If this field is unused fine, but we put
        // it here so that we can deal with it if necessary.
      Set facilities; // what can this room do? is it a chem lab?
      int maxOccupancy; // most students room can hold
    }
    
    class Building{
      String name;
      int x,y;  // coordinates in feet from some origin on campus map.
                  // used to compute approximate transit times.
    }
    Now, you need to fill out this level of detail. Not a single method defined, but all the fields of all the data that you are going to manage.

    It is during this initial layout you will deal with issues like the following: Chemistry 101 meets 5 days a week, 3 of them lecture and 2 lab courses.

    Did you define your course requirements in a sufficiently robust manner that you could have room requirements that vary from day to day? If you did not build it sufficiently robust to deal with that, well now is the time to go back and fix it, NOT after you have written a ton of code and delievered the alpha version to the client.

    You might want to deal with constraints at this point, like limit yourself to one professor per section by declaring a single field professor in each section object as I suggested earlier, OR you might decide that you would rather NOT pollute you initial data, professors, students, buildings classes, etc. which is essentiall static unchanging data pulled from a database with the dynamic values that you are going to fill in during the optimization proceedure. Thus you may want to keep a Map somewhere that does the association of One Section has exactly One Professor rather than taint the Section class with an optimization field.

    So, If you want a handout - I just gave it to you. It is the same one I give over and over. First define what you want to do. Then check your design and see if you got it right. It should take only an hour of so to define all your classes. It may then take a whole week to convince yourself that you have it correct.

    When I first started playing with this problem I did this sort of initial layout, because it is fun. I will not post my layout. My feeling is that anyone that is NOT willing to do even this first enjoyable hour of work to start this problem is clearly NOT serious about trying to solve it. Go buy finished software if you want working code. On the other hand if you want to write code, then start writing. And this is where you start.

    I will use what I've already developed and the issues that I have though about to critique any design that anyone wants to post up here. I'd be happy to see if anyone comes up with any thing better than what I have already done. But I am not trying to solve this problem. I don't care about this problem. I care about helping people learn to write code.

    So you can post your initial design up here (All Java code, but NOTHING but fields - like the Room code I listed) and you will find that folks here are willing to critique what you have done and make suggestions, but this is work that YOU have to do. I don't know what problem you want to solve. Only you do. The data formats and classes that you write DEFINES what it is that you want to do.

    Any talk about Swing and Databases is POINTLESS until you have some reason to believe that you can solve your problem.

    This thread is like the living dead. It keeps rising up out of the grave and stumbling around a bit before it dies again. Clearly there is some interest. Just not enough interest for anyone to do any work. I have no problem staying with it to the point that an entire working chunk of code is listed here that anyone can copy and paste.

    However, until someone takes up my challenge to define their problem you are just wasting your time posting yet another request to "Send me the timetable code"

    There is no fricking time table code!
1 2 3 4 5 8 Previous Next