基于优先级的项目分配 [英] Priority based project Allocation

查看:81
本文介绍了基于优先级的项目分配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,
我有一个简单的(不是那么简单)问题.我必须为基于优先级的项目分配开发算法.该算法将在大学中用于根据学生的优先级(偏好)为他们分配项目.

导师人数不多,他们将为学生提供5个项目.学生可以从任何主管中选择3个项目,他们还可以设置优先级(偏好),即这些项目的1,2,3.我的算法将根据他们指定的优先级分配项目(一次给一个学生一个项目).

当许多学生具有相似的项目优先级时,就会出现问题,例如,一半的学生想要David教授的云计算项目".在通常情况下,该问题实际上可能会变得更加复杂.

我将不得不用C ++编写代码,但是任何语言(C ++,C#,Java,VB.NET)的代码都将证明是有用的,简单的算法也将非常有用.

我希望在互联网上会有用于此类调度的算法.但我不走运

最好的问候

解决方案

您的算法可以尝试使总分最大化(例如,您可以将12点分配给"优先级1 "匹配,6指向"优先级2 "匹配,3指向优先级1" 匹配,0指出分配的项目是否不在学生的优先级列表中.
对于少数项目(学生,主管等),即使是蛮力方法也适用,但您可以看看模拟退火 [ ^ ]算法.

Hi All,
I have a simple(Not so simple) problem. I have to develop algorithm for priority based project allocation. This algorithm will be used in college to assign projects to students according to their priority (preference).

There are n number of supervisors, All of them will offer 5 projects to students. Student can select 3 projects from any supervisor and they can also set the priority(preference) i.e 1,2,3 of those projects. My algorithm will assign project(one project to one student at a time) according to their specified priority.

The problem comes when many students have similar project priorities, for example half of the students wants "Cloud computing project" from Professor David. The problem can really become more complex in usual scenarios.

I will have to write code in C++, but code from any language(C++, C#, Java, VB.NET) will prove helpful, simple algorithm will also prove very helpful.

I hope there will be algorithm for these kind of scheduling on internet. But i am out of luck

Best Regards

解决方案

Your algorithm could try to maximize the overall score (for instance you may assign 12 points to a ''priority 1'' hit, 6 points to a ''priority 2'' hit, 3 point to a ''priority 1'' hit, 0 points if the assigned project wasn''t in the priority list of the student).
While for a small number of items (students, supervisors,...) even a brute force approach would fit, you may have a look at the Simulated Annealing[^] algorithm.


这篇关于基于优先级的项目分配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆