Comments (13)
duration - only scheduling events in slots with a matching duration
I'll pick this up next.
suitability - not scheduling events in rooms which are unsuitable for that type of event
I think this is covered: we can mark an event as unavailable for a given slot. We can pre process whether or not a given event is suitable for a given slot when we get the data in (and just add that to the event unavailability).
from conferencescheduler.
duration - only scheduling events in slots with a matching duration
Actually, come to think of it: that's also already covered by the same logic: we can simply include this all in a data input validation:
- If an event has duration 30 mins then all the slots with duration < 30 mins should be marked as an unavailability for that event.
- If an event has a particular type then all the slots that cannot cater for that type should be marked as an unavailability for that event.
from conferencescheduler.
I'll pick this up. Will start with the tags constraint: so talks cannot be scheduled in the same session unless they share a tag.
from conferencescheduler.
including no tag? i.e. Any untagged talks can be scheduled in the same session.
from conferencescheduler.
Yup. I'm thinking we can handle that generically: no tag is a tag.
from conferencescheduler.
@meatballs currently the unavailability maps speakers to slots. Would you be averse to changing that to map from events to slots?
So this would have:
21 class Event(NamedTuple):
22 name: str
23 event_type: EventType
24 duration: int
25 roles: Dict[Role, Person]
26 tags: List[str]
27 unavailability: List[Slot]
The unavailability list for any given event would by default be empty.
This would just make things a little bit more generic and also addresses our chat that unavailability for an event in a given slot need not be about the speaker (as a committee we could decide that we don't want a particular event to happen in a particular room).
from conferencescheduler.
we don't want a particular event to happen in a particular room
I think that's a separate issue
The main issue to deal with for unavailability is that we will straight away have speakers telling us that they cannot be at the conference for particular days. That's what I mean by 'unavailability.'
from conferencescheduler.
So, I don't see how it could be mapped to an Event - anyone who can't make Friday still won't be able to make Friday regardless of what we've scheduled that day.
from conferencescheduler.
This is just about how the data is stored and doesn't actually change anything.
The main issue to deal with for unavailability is that we will straight away have speakers telling us that they cannot be at the conference for particular days. That's what I mean by 'unavailability.'
When speakers say they are unavailable for a given day that in effect translates to the events that "belong" to that speaker being unavailable on the slots on a given day. So this doesn't change anything from that point of view.
By allowing for events to be more generically unavailable on a given slot it just makes things a bit more flexible.
This branch has those changes and the availability constraint programmed in: https://github.com/drvinceknight/ConferenceScheduler/tree/2-availability
(It's forked off my work on #5, will wait for that to go in before opening the PR)
from conferencescheduler.
When speakers say they are unavailable for a given day that in effect translates to the events that "belong" to that speaker being unavailable on the slots on a given day.
It also translates to sessions that they might chair, speakers they might be mentoring, workshops they might be assisting at and other things we haven't even thought of.
from conferencescheduler.
from conferencescheduler.
True and similarly we can have events that the committee doesn't want to
schedule in a given slot even if the speaker is available
But that's a different issue - one that I think should be covered by an ad-hoc constraint in the 'script' for that year. Here, we're just trying to deal with the built-in availability constraints.
from conferencescheduler.
from conferencescheduler.
Related Issues (20)
- Move the tags from a constraint to an objective function.
- Issue with Slot times and datetime while running tutorial code HOT 1
- can we use this to schedule meetings? HOT 1
- Unique ID for events and slots HOT 8
- Use lpsum function in place of plain addition HOT 1
- Return the final solution as a list (currently a generator) HOT 3
- Possible bug in constraint HOT 2
- Use bumpversion HOT 2
- Write a how to for the different formats of a solution/array/schedule.
- Move to flake8 HOT 1
- Set defaults for `tags` and `unavailability` HOT 2
- Event Methods HOT 12
- Reference Section HOT 1
- Add a how-to for the setter methods for the event unavailability and tags.
- Use autodoc for reference docs
- Equation label placement
- Use datetime rather than string for Slot.starts_at HOT 1
- Pass solver and kwargs to scheduler.array
- Use integers rather than floats in array format
- Instructions in CONTRIBUTING.rst for running tests have an undocumented YAML dependency
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from conferencescheduler.