1 Project overview
For the final project, you will formulate, analyze, and solve an
optimization
problem sing the tools you have learned in class. You will work in a
group
to develop a strategy, explore a provided dataset, develop and analyze
your
problem formulations, and write a report describing your approach and
what
you have learned.
2 Forming groups
You may work in groups of up to 4 students. Please email me the names of
the
students in your group before 9pm on Sunday, October 25, or email me to
ask
for help finding a group (in which case your group assignment will be
provided
on October 27).
3 Optimization task
Your task is to assign a workers to projects, while accounting for the
preferences
and constraints of the workers and projects.
Workers have preferences concerning which projects they would like to
work
on, represented as a number between -5 and 5, with -5 indicating a
strong preference to not work on a particular project, and 5 indicating
a strong preference
to work on it. Workers also have preferences about who they work with,
speci-
fied as a list of people they would like to work with and another list
of people
they would not like to work with. Finally, each worker has a number of
skills,
represented as numbers between 0 and 10, with 0 indicating a total
absence of
the skill and 10 indicating high proficiency.
Each project has different requirements in terms of the minimum or
maximum numbers of workers and their required skills.
An assignment of workers to projects is feasible if the requirements of
each
project are met and each worker is assigned to some project. However,
you
should come up with an objective on your own (this is an open-ended
optimization problem), and you may add other constraints if you wish.
1
4 Deliverables
Produce a report that includes the following:
1. A precise formulation of at least one optimization problem related to
this
task, along with an interpretation of the problem, and a justification
for
why you think it is a good problem formulation for this optimization
task.
2. A precise formulation of the dual of your optimization problem (or at
least
one of your optimization problems, if you formulate more than one),
along
with a complete interpretation of the dual (its variables, contraints,
etc.).
3. An optimal solution to your optimization problem, along with a
certificate
of optimality from the dual problem
4. Suggestions for what could be changed about the current state of
affairs
in order to make an even better solution feasible (e.g., training
certain
workers, team-building excercises involving specific workers, etc.)
The report should be written in English, structured as a paper of
several
pages, with complete sentences organized into paragraphs, etc. It should
be
submitted along with all Python code used to produce the report.
Finally, each individual member of your group must separately write a
paragraph or two describing their own contributions to the project, as
well as
the contributions of the other group members. These reports will be
submitted
separately.
Due date: 10pm Tuesday, December 15 (probably via Gradescope, but I
will announce the submission method later)