FET for retail store?

Started by Dobrobobr, October 17, 2014, 11:13:25 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dobrobobr

Hello!
I know FET software is about teachers/students and classrooms. I wonder if i can use it to make schedule for retail store.
So i have a store and 5 employees. The main idea is that only 2 person can work in a store simultaneously. Lets say we open a store at 8 a.m. Employee1 works 8 am-5 pm, Employee3 works 8 am-22 pm. At 5 pm Employee3 comes and works till 22 pm. I also want to take into account whether employee is avalaible this day (some of them are part-timers). Sum of man-hours employees spend in store should be 190-200 (it usually is).
So i want to know is it even possible to use FET to solve this problem? I will provide more details if needed. Thank you in advance.

Liviu Lalescu

#1
It might be possible. We can try two variants for now:

1) An employee is a FET room (the FET room is in a FET building with the same name as the FET room). Add activities with duration 1, for each hour of the week (if you add divided activities, don't add min days between them - or 0 min days). Then add space constraints and constrain max building changes per day to be 1 (for two shifts). You have availability for rooms, but I don't know (for now) how to specify that each employee (FET room) should be occupied 190-200 hours per week. Maybe as a FET custom version with a new constraint or with some tricks - we can think about. and a simple trick to say that each FET room should be occupied maximum 200 hours per week is to add complementary n_hours_per_week-200 activities, preferred room = that particular FET room.

or

2) Add employees as FET students, and activities with an employee and with duration 9 or 5, each with allowed times (preferred starting times). You need to decide for each employee the exact duration of his activities (so the sum should be 190-200).

For both variants, use constraint activities max 2 simultaneous in all slots of the week (this is a constraint in activities time constraints).

Dobrobobr

Quote from: Liviu Lalescu on October 17, 2014, 11:33:21 AM
It might be possible. We can try two variants for now:

1) An employee is a FET room (the FET room is in a FET building with the same name as the FET room). Add activities with duration 1, for each hour of the week (if you add divided activities, don't add min days between them - or 0 min days). Then add space constraints and constrain max building changes per day to be 1 (for two shifts). You have availability for rooms, but I don't know (for now) how to specify that each employee (FET room) should be occupied 190-200 hours per week. Maybe as a FET custom version with a new constraint or with some tricks - we can think about. and a simple trick to say that each FET room should be occupied maximum 200 hours per week is to add complementary n_hours_per_week-200 activities, preferred room = that particular FET room.

or

2) Add employees as FET students, and activities with an employee and with duration 9 or 5, each with allowed times (preferred starting times). You need to decide for each employee the exact duration of his activities (so the sum should be 190-200).

For both variants, use constraint activities max 2 simultaneous in all slots of the week (this is a constraint in activities time constraints).

Thank you for your response, Liviu

I am completely new to FET, so I did not understand much from your post :) . Now im trying to represent my requirements to look something like school. So thats what Im thinking: there are 5 teachers and 1 subject they "teach" - selling. I tried to assign and activity to each teached (selling, 1 hour lenght) and to generate schedule (it failed because my constraint is at least 4 hours a day, if a teacher does work). What do I have to do to make all 5 of them to teach selling 9am to 9pm? (I have other constraints as i said before, just trying to keep it simple)

Liviu Lalescu

#3
So, which of my approaches do you prefer? I think the best is the first.

No teachers. 5 subjects: "Selling 1", ..., "Selling 5" or similar. First approach: no students. Second approach: 5 years, "Employee 1", ..., "Employee 5".

Quote

I tried to assign and activity to each teached (selling, 1 hour lenght) and to generate schedule (it failed because my constraint is at least 4 hours a day, if a teacher does work). What do I have to do to make all 5 of them to teach selling 9am to 9pm? (I have other constraints as i said before, just trying to keep it simple)

In my first approach: for the complementary n_hours_per_week (dummy activities), specify a dummy students set (add 5 dummy students sets in total). Then max hours daily for the students set: 14 (total) - 4 (minimum real) = 10.

I prefer to use students, not teachers, in this case. But you may switch them. (I think a worker is more like a student).

Liviu Lalescu

#4
Maybe you could give an example of output? Is it for a month (with 28, 29, 30 or 31 days)? FET allows 35 days per "week", so this is possible.

Dobrobobr

You asked for an example of an output. I attach it for one of the weekdays below. The schedule is created for a week (7 days). It is made manually now and i want to generate something similar.

Dobrobobr

Rooms_time_horizontal is probably what i need. I created 2 rooms and 5 groups of students and i want them always occupied. This means i need 2*13(work day length)*7 = 182 hours per week. Is there a fast way to create activities or do i have to create 182 similar activities one by one with duration = 1?

Liviu Lalescu

#7
Quote from: Dobrobobr on October 20, 2014, 09:47:59 AM
Rooms_time_horizontal is probably what i need. I created 2 rooms and 5 groups of students and i want them always occupied. This means i need 2*13(work day length)*7 = 182 hours per week. Is there a fast way to create activities or do i have to create 182 similar activities one by one with duration = 1?

I saw your graphic above. You may need to consider a FET hour = real 30 minutes. Also, you said that only two persons can work simultaneously, but in the graphic there are even three at some times?

To add faster the activities, just increase the split, making min days 0. Maximum split is 35, but you may choose a value with some significance for you, like 13 (hours per day) or 7 (days per week).

Also, in your graph I see 16 intervals, not 13.

Dobrobobr

Quote from: Liviu Lalescu on October 20, 2014, 09:55:47 AM

I saw your graphic above. You may need to consider a FET hour = real 30 minutes. Also, you said that only two persons can work simultaneously, but in the graphic there are even three at some times?

To add faster the activities, just increase the split, making min days 0. Maximum split is 35, but you may choose a value with some significance for you, like 13.

About 30 mins and 3 person working simultaneously... thats exact thing i want to change, because its not me who makes this schedules. I check them and sometimes they look completely insane :)
I've got nice result on some days, but on the others...meh. Generating schedule is impossible or has too much blanks when i discard some constraints. Now im trying to make both rooms 100% time occupied. Added 175 total activities 1 hour length for employees + 7 dummy activities without constraints to fill blanks. Running simulation now, 98/182 placed at 6 min so far

Liviu Lalescu

#9
I am sorry. I tried with the attached files. The first one solves, but is not good, because there may be less than 4 hours per day for working day and the working hours may be not continuous for a FET room = a real worker.

The second one tries to assure that each worker works at least 4 hours each day. But this is not what you require. You require this only for the days when he works. This second one does not solve.

I think my idea cannot work.

I am very skeptical that FET (using my idea) might work in this case. There are some slim chances maybe as a custom (modified) version, but there might be required some difficult changes to the official FET and the final outcome might be that it does not work.

But you may find other approaches.