- Engineering
- Computer Science
- suppose that you are scheduling a room you are given...
Question: suppose that you are scheduling a room you are given...
Question details
Suppose that you are scheduling a room. You are given a group of
activities each of which has a start
and stop time. Two activities are compatible if they do not overlap
(one activity finishes before another
one starts). For example, in the following activities, activity A
is compatible with activities B and D but
not activity C:
Activity Start Time Stop time
A 1 2
B 2 5
C 1 3
D 5 6
The room has a start time and an end time in which it is
available.
Your goal is to write a recursive method to
schedule compatible activities that result in the maximum
usage of the room. The usage of the room is defined as the total
duration of the scheduled activities,
that is, the sum of (stop time – start time) for all the activities
scheduled to run in the room.
For example suppose that the start time and end time in which the
room is available is [1,7] for the
above table. Hence, the possible schedules are:
1. Activities A, B,D: with room usage = (2-1)+(5-2) +(6-5) =
5
2. Activities C, D: with room usage = (3-1)+(6-5) = 2
3. Activities A,D: with room usage (5-2)+(6-5) =4
4. Activities A, B: with room usage (2-1)+(5-2)= 4
5. Activities B, D: with room usage (5-2)+(6-5) = 4
Therefore, the set of activities {A,B,D} gives the optimal schedule
with the maximum room usage.
What you need to do:
1- Create a class Activitiy.java with three data fields :
activityName, startTime, and stopTime . Create accessor (get) and
mutator (set) methods for each data field.
2- Create a class Scheduling.java with the following method in
it:
public Activity[] getOptimalSchedule( int roomStartTime, int
roomEndtime, Activity[] activities)
This method gets the availability span of the room as well as a set
of activities to choose from and returns an optimal schedule i.e.,
a selected set of non-overlapping activities that can be scheduled
to run in the room and gives the maximum possible usage of the
room. Note, depending on your input, the correct answer may not be
unique (that is, there might be several valid schedules with the
same total room usage)
Solution by an expert tutor
