Asignación de cupos en las universidades
Asignación de cupos en las universidadesLeandro Rabindranath León - Alejandro Mujica |
Aclaratoria
Aunque en términos ingenieriles, prácticos y políticos1, este proyecto es muy realista,
pues aborda un problema actual y real, muy serio, de la educación
venezolana, la narrativa empleada en la formulación de este proyecto
debe considerarse, al momento actual, como ficción.
Trate de asumir a este proyecto como de interés nacional, que su logro
incidirá en el buen destino de unos cuantos bachilleres venezolanos, y
especialmente de país.
Lea completa y detallamente este enunciado. Sientase libre de
plantear preguntas o sugerencias. En pos del registro, plantee su
pregunta o sugerencia a través de la sección de comentarios del
blog. No use otro medio para esto (email, facebook, etc).
Contents
1 El problema
1.1 Preámbulo
Como bien se sabe, nuestro país es rentista en el sentido de que la
mayor parte de los ingresos que motorizan su economía provienen de la
renta minera y no de la producción autónoma y autóctona en torno a
bienes venezolanos. La gran mayoría de los bienes (y mucha parte de
los servicios) son de manufactura extranjera.
Después de más de 100 años de rentismo y de numerosos ensayos por
fomentar la producción venezolana, algunas autoridades del gobierno
actual están (¡por fin!) comenzando fuertemente a sospechar que
nuestra dependencia sobre las importaciones comienza primariamente por
nuestra dependencia de personal educado. Estas autoridades piensan que
para la producción se requiere inteligencia y educación.
Así pues, después de décadas de abandono del sistema educativo, del
cual sólo se han podido beneficiar los sectores de clase media en
adelante, los cuales no sobrepasan el 20% de la población, las
autoridades susodichas están decididas a que el sistema educativo
alcance y beneficie en mayor medida al restante 80%. Aparte de
razones de justicia muy obvias (bueno al menos para algunos), las
autoridades entienden que la producción (y el mercado endógeno)
requiere del concurso del 100% de la población y no del 20% (o
menos) actual.
1.2 Lineamientos políticos
Aunque obviamente el problema de la educación venezolana comienza
desde la primaria y es allí donde es más grave, en este proyecto sólo
se abordará la educación superior; específicamente la asignación de
cupos de todas las carreras universitarias de las universidades
subvencionadas por el estado venezolano. Para ello, el órgano
ejecutivo encargado (teóricamente el Ministerio de Educación de
Superior), ha asumido los siguientes lineamientos:
-
Puesto que es el estado quien aporta los recursos
presupuestarios a las universidades y éstos son patrimonio
público de la población venezolana (no de la Universidad), será
el estado, y no las Universidades, quién efectúe la asignación
de cupos a los bachilleres.
Por supuesto, esto no impide que la Universidad especifique un
perfil mínimo deseado para un eventual estudiante.
La idea de este lineamiento es potenciar la justicia y
planificación de todo el país.
- Las universidades son autónomas en todo su ejercicio (incluida
su ejecución presupuestaria), pero, a efectos de rendir cuentas
a país, todos los años el ministerio de educación superior
realiza una auditoría. Esto se hace mediante una muestra
estadística suficientemente representativa de los egresados de
cada universidad y verifica si, en efecto, el egresado cumplió
con los requerimientos de egreso (revisión de su desempeño y
examen de suficiencia).
El Ministerio de Educación Superior está dispuesto a tolerar hasta un máximo de 5% de
error en la auditoría. Si una Universidad sobrepasa este
porcentaje de error, entonces el Ministerio de Educación Superior está dispuesto a
solicitar su revisión y eventual intervención, pues en los
términos del Ministerio de Educación Superior estaría fallando en su misión.
El sentido de este lineamiento es garantizar la autonomía sin
que ésta se convierta en una excusa de la Universidad para no
cumplir su misión fundamental. El Ministerio de Educación Superior ahora piensa que las
cuentas se rinden en términos de los resultados (la suficiencia
y calidad de los egresados, entre otras cosas) y no meramente
del gasto presupuestario.
- Puesto que un cupo universitario es costeado por el estado y
éste se considera sumamente valioso, el Ministerio de Educación Superior le exigirá a cada
universidad un rendimiento por estudiante de al menos 80%, es
decir, la Universidad tiene la obligación de aplicar medidas de
bajo rendimiento a aquellos estudiantes que estén por debajo
del 80% de rendimiento. El rendimiento se considera desde dos
perspectivas la duración de la carrera en períodos y la
cantidad total de materias reprobadas en la carrera. Así, si
una carrera tiene una duración de 10 semestres, entonces la
cantidad máxima de semestres que, sin causa justificada, puede
permanecer un estudiante en la Universidad es de 12
semestres. Del mismo modo, si una carrera tiene 40 materias,
entonces la cantidad máxima de materias que se podrían reprobar
es de 8.
La idea de este lineamiento es liberar el cupo en caso de errores
de planificación.
- El Ministerio de Educación Superior ofrecerá cursos propedéuticos a los bachilleres con
bajo rendimiento y de bajo nivel socioeconómico.
La idea de este lineamiento es potenciar la posibilidad de
logro en la carrera universitaria para aquellos bachilleres que
históricamente han sido excluidos de la enseñanza superior.
1.3 Factores de incidencia en la asignación de cupos
En las subsecciones siguientes se enuncian y describen los factores
que el Ministerio de Educación Superior consideraría al momento de efectuar la asignación anual de
bachilleres a carreras universitarias.
1.3.1 Promedio de notas
El promedio de notas en el bachillerato incide proporcionalmente en
la probabilidad de que a un estudiante se le adjudique un cupo. A
mayor promedio mayor probabilidad de asignación. La idea es ponderar
el esfuerzo y rendimiento del bachiller.
En lo que sigue, el promedio se denomina Prom:
Prom = Promedio de notas en el bachillerato
(1) |
1.3.2 Nivel socioeconómico
Uno de los dramas del sistema de educación venezolana es que su
acceso y calidad depende mucho de la condición
socioeconómica. Numerosos estudios indician que cuanto mayor es la
condición socioeconómica mayor es la posibilidad de un
ciudadano de recibir educación. Similarmente, se ha descubierto que
el rendimiento escolar tiende a ser mejor conforme es más alta la
condición socioeconómica.
Puede decirse, como aproximación, que los sectores A,B y C
representan el 20%, mientras que los D y E restantes el
80%. Vivimos en un país donde sólo el 20 % de la población tiene
las condiciones adecuadas de educación, entre ellas la universitaria.
Es una política vigente el realizar el máximo esfuerzo por que los
ciudadanos pertenecientes a los niveles socioeconómicos más bajos
sean incluidos en el sistema de educación superior. Bajo ese
espíritu, la tabla 1 muestra los factores de ponderación
según el nivel socioeconómica.
Nivel socioeconómico | Ponderación |
A | 5% |
B | 10% |
C | 10% |
D | 45% |
E | 30% |
Table 1: Ponderación a los niveles socioeconómicos |
Estas ponderaciones son modificables y el sistema resultante debe
permitir sus ajustes.
El nivel socioeconómico se define como ns:
ns = Ponderación del nivel socioeconómico
(2) |
La distancia geográfica desde el lugar de origen a la Universidad es
un factor que también se debe considerar al momento de asignar un
cupo.
Este factor se denomina D y es la distancia euclidiana desde el
lugar de origen del bachiller a la Universidad en donde se formaría.
D = Distancia euclidiana entre el lugar de origen y la Universidad
(3) |
1.3.4 Condiciones especiales
Bachilleres en condiciones especiales de discapacidad o provenientes
de las etnias indígenas deben tener una ponderación mayor.
El factor se denomina ce y se define como:
ce = | ⎧
⎨
⎩ | 0 | si el bachiller es de condición especial |
1 | de lo contrario
|
|
(4) |
1.3.5 Cantidad de intentos de asignación de cupo
Puesto que existen circunstancias en las cuales un bachiller se queda
completamente sin cupo, y considerando que el ocio es demasiado
costoso para la sociedad, la cantidad de intentos en los
cuales un bachiller no ha logrado cupo es un factor a considerar.
Este factor se denomina n:
n = Cantidad de intentos del bachiller para ingresar a la
Universidad , n ≥ 1
(5) |
1.3.6 Índice académico de la universidad vs el de la OPSU
La política actual se fundamenta en un modelo multivariable bajo el
cual, luego de evaluar algunas variables por bachiller, se calcula un
índice académico I entre 0 y 100. Por lo general, los parámetros
de cálculo para este índice varían según el año.
Lo esencial en este caso es considerar el índice académico como
incidente para el otorgamiento de cupo, así como el valor requerido
por la carrera/Universidad.
Por cada carrera la Universidad asigna un índice mínimo de ingreso
Imin y un cupo cap.
El algoritmo actual consiste en asignarle cupo a los cap
bachilleres solicitantes cuyo Imin es más alto. Aunque el modelo
multivariable y el algoritmo están diseñados con fuerte pretensión de
inclusión, éstos no consideran el coste social que podría tener la
asignación de cupos.
Puesto que se plantea que sea el Ministerio de Educación Superior estrictamente quien
asigne los cupos, un factor de coste importante es la diferencia
entre el índice mínimo Imin solicitado por la Universidad y el
índice multivariable del estudiante.
Sea esta diferencia:
La idea de este factor es considerar como “costoso” el que el Ministerio de Educación Superior asigne a un estudiante que no cumpla con el perfil solicitado por la
Universidad.
1.3.7 Duración de la carrera
La duración en años de la carrera es un factor de coste. Mayor sea la
duración mayor será el coste y se define como:
t = Promedio de duración en años de la carrera
(7) |
1.3.8 Costo de asignación de cupo por bachiller
El coste de asignación de cupo de un bachiller a una carrera se
determina según la siguiente fórmula:
Coste = | | + | | + γ D + δ ce +
| | + θ ΔI + κ t
(8) |
Las letras griegas designan “pesos” del factor; e decir, la
importancia que se le daría al factor. La idea es ajustar los pesos
según estudios y simulaciones posteriores.
Para facilitar la comprensión, veamos cómo se interpreta cada
sumando de la fórmula:
-
α/Prom: si α ≥ 1, entonces cuanto más
alto sea el promedio, menor el cociente α/Prom. De
este modo se considera más costoso el otorgar cupo a un
bachiller con bajo promedio sobre uno con alto.
- β/ns: si β≥ 0, entonces cuanto más
alto sea el nivel socioeconómico mayor será el radio y más
costoso se considera el cupo.
Note que si uno o ambos de los pesos α y β se
hacen mayores que uno, entonces el costo del factor se
invierte. Por ejemplo, si β < 1, entonces el costo es
menor conforme aumenta la clase social.
- γ D: cuanto más distante esté el bachiller de su lugar
de origen más alto será este producto y más costoso se
considera la asignación.
- δ ce: puesto que los bachilleres con condiciones
especiales no se consideran costosos (o de coste menor que los
normales), entonces este producto es menor, y por consiguiente
el coste, para los bachilleres con condiciones especiales.
- є/n: si є>0, entonces cuanto más
años infructuosos tenga un bachiller sin ingresar a la
Universidad menos costoso se considerará su ingreso y más
posibilidades tendrá éste de ingresar.
- θ ΔI: cuanto más debajo esté el índice académico
del bachiller respecto al declarado por la Universidad, mayor
será el producto y mayor impacto tendrá su ingreso sobre el
coste global. Del mismo modo, cuanto más por arriba esté el
índice del bachiller respecto al de la universidad,
menor será el coste; de hecho, en estos casos es
negativo.
- κ t: cuanto más alta sea la duración promedio mayor
será el producto y por consiguiente el coste.
El fin de la fórmula es intentar tener una idea del coste relativo,
no meramente económico, que acarrea al país la asignación de un cupo
de Universidad. La fórmula en cuestión serviría como un medio para
comparar diversos esquemas de asignaciones de cupos así como
algoritmos que efectúen asignaciones al menor coste global. Los
valores exactos de los pesos (letras griegas) serían escogido luego
de estudios y eventualmente sujetos a consulta y aprobación popular.
Nótese que la fórmula (8) permite “cuantificar” un
coste entre distintos esquemas de asignaciones (variación de los pesos
-letras griegas-), así como condiciones distintas entre los bachilleres.
Note también cómo la fórmula se adapta a diversas interpretaciones
del coste, el cual es bastante relativo y depende mucho de la
“ideología” de los actores ejecutivos. Por ejemplo, desde una
perspectiva en la cual domine fuertemente la inversión
presupuestaria, un ejecutivo podría considerar que un bachiller de
nivel socioeconómico alto es menos costoso que uno de nivel bajo,
pues éste tendría mejores facilidades de manutención (no acarrearía
subsidio de beca, comedor o vivienda); también se podría razonar que
cuanto más alto sea el nivel socioeconómico mejor educado estará el
bachiller y mejor y en menos tiempo éste se formará. Finalmente, nuestro
hipotético actor ejecutivo podría argüir, aparte de lo anterior, que este
bachiller será mejor inversión, que le rendirá mejores dividendos al
país.
Como se ve, este criterio es totalmente opuesto al actual y podría
fijarse en la fórmula ajustando el valor de β < 1.
Ahora bien, otra interpretación, la cual podría ser la actual, es que
puesto los sectores de niveles altos tienen más posibilidad de
encontrar educación superior en predios privados y que ello le
resulta menos costoso al estado. Más importante, la exclusión de los
sectores de niveles bajos potencia problemas sociales más complejos
de resolver y mucho más costosos (delincuencia, embarazos tempranos,
alcoholismo). Y quizá más importante aún, la exclusión de los niveles
bajos se efectúa sobre la mayoría de la población, lo cual, aparte de
cercenar el potencial productivo de la nación (sólo el 20% podría
producir bienes de valor intelectual), representa una gravísima
injusticia.
Si un factor no desea ser considerado en el coste, entonces basta con
colocarle como peso el valor cero. También, si según sea la
circunstancia un factor se considera muy importante, entonces su peso
se puede asignar muy alto o bajo según que sea éste divisor o no. Por
ejemplo, puesto que actualmente el índice de la Universidad se toma
mucho en consideración, el Ministerio de Educación Superior podría considerar en la primera
asignación de cupos un valor de θ bastante alto, de manera tal
que el criterio de la Universidad sea fuertemente considerado.
2 Modelo de red de flujo
En esta sección se especifica un modelo de red de flujo con costes
destinado a calcular una asignación máxima de cupos al menor coste
posible; coste en los cánones de la fórmula (8).
2.1 Nodo Carrera/Universidad
Se tienen en total M conjuntos de carreras/Universidad. Un nodo
carrera/Universidad ncu tiene una capacidad de cupo de
cap(ncu) correspondiente a la cantidad de cupos disponibles
para el año el curso en la susodicha carrera. También, este nodo tiene
un índice mínimo preferido llamado Imincu, correspondiente
al valor Imin de la carrera/Universidad.
Por ejemplos, la siguiente figura muestra algunos nodos carrera:
Estos nodos indican, por ejemplo, que Física en la Universidad Simón
Bolívar tiene un cupo de 50 bachilleres y que solicita un índice
académico mínimo de 80. Parecido ocurre con los demás nodos y otros
posibles que por razones de espacio no están colocados en la figura.
La información realista de los nodos/carrera puede ser obtenida en:
http://loe.opsu.gob.ve/carreras.php.
Por cada nodo carrera/Universidad se asocian los siguientes factores
de importancia:
-
Ce: coste económico que representa la carrera/Universidad
para el estado.
- IU: “importancia estratégica” que le da el estado a la
carrera/universidad según los lineamientos políticos actuales.
Así, el coste total de la carrera/Universidad se calcula de la
siguiente forma:
Donde σ y τ son los pesos que el Ministerio de Educación Superior le
otorga a la carrera. Por ejemplo, si el estado considera que son
sumamente importante las carreras vinculadas al petróleo, entonces
éste les asignará valores de IU altos, de manera tal que el coste
disminuya y el algoritmo de maximización tienda a asignar bachilleres,
aun si éstos tienen las carreras como segundas o terceras
opciones. Parecido, bajo la presunción de que un estudiante que solicite
cupo en una Universidad privada tiene los medios para costearla,
entonces el estado puede asignarle un valor de σ alto para la
Universidad. La diferencia entre σ y τ determinaría la
prioridad del estado para cada coste.
En un modelo de red de flujo, los nodos carrera/Universidad se
traducen a pares de nodos cuya capacidad se corresponde con el cupo
de la carrera. Para la figura anterior, la transformación sería la
siguiente:
2.2 Nodo bachiller
Cada bachiller registra sus datos de forma manual o automatizada e
inscribe en la OPSU entre 1 y m carreras posibles según su voluntad
(actualmente el puede seleccionar hasta un máximo de 6 carreras). Un
sistema automatizado calcula, por cada carrera, el coste según la
fórmula (8) que tendría asignarle la carrera al
estudiante. cada carrera que inscribe un bachiller tiene una prioridad
en el sentido de que él prefiere una sobre la otra.
2.3 Red global de flujo
Hay dos modelos posibles de red según que se incluyan o no todas las
carreras seleccionadas por el estudiante.
El propósito de la red global de flujo es calcular la máxima
asignación posible de bachilleres a carreras/Universidad que tenga el
menor coste total posible.
El coste total posible es la suma de todos los costes por bachiller
una vez que ya les ha sido asignada su carrera.
2.3.1 Red global con una sola carrera por bachiller
La primera manera de calcular el coste mínimo consiste en conectar la
carrera más prioritaria de cada bachiller directamente a los nodos
carrera/Universidad. En este caso una red de N estudiantes y M
carreras/Universidad se representaría así:
Según la carrera más prioritaria que seleccione un bachiller, éste se
conecta al nodo carrera/Universidad con capacidad 1 y coste Ci
calculado según la fórmula de coste (8) para el bachiller.
Así, esta red se maximiza el flujo al mínimo coste, lo que da la
máxima asignación de cupos de carreras a la mayor cantidad de
bachilleres posible y al mínimos coste según la suma total de los
costes (8).
Después de ejecutada esta asignación, se construye una nueva red con
los bachilleres sobrantes (aquellos que el proceso anterior no les
haya otorgado cupo), y las carreras sobrantes (la que aún les quede
cupo). En esta segunda red se conectan las carreras/Universidad más
prioritaria que le quede al bachiller y que sea conectable al nodo
carrera/Universidad.
El proceso se repite hasta que ya no sea posible construir más redes;
bien sea por que todos los bachilleres obtienen cupo, porque todos
los cupos han sido cubiertos o porque no es posible conectar mas
bachilleres a carreras/Universidad (sobran bachilleres y carreras con
cupo que no se pueden conectar porque los bachilleres no las
escogieron en su inscripción).
2.3.2 Red con todas las carreras por bachiller
En este enfoque, en lugar de realizar diversas corridas, todas las
carreras inscritas por los bachilleres son conectadas a los nodos
carrera/Universidad. Para ponderar la prioridad de la carrera, a la
fórmula de coste (8) se le añade un nuevo sumando que
representa el coste de asignarle al bachiller carreras que para él
son de menos prioridad. Tal coste se designa Prio y es un número
entero correspondiente al orden de prioridad de la carrera. Por
ejemplo, si el bachiller inscribe 4 carreras en la OPSU, entonces la
carrera con prioridad 1 es la más importante y así sucesivamente
hasta la cuarta carrera con prioridad 4, la cual es la menos
prioritaria.
Con la ponderación de la prioridad el coste de asignación se
transforma en:
Costeλ= Coste + λ Prio = | | +
| | + γ D + δ ce +
| | + θ ΔI + κ t + λ Prio
(10) |
El peso λ representa la importancia que le da
el Ministerio de Educación Superior al deseo del estudiante.
Así, la red de flujo se interpreta en algo más o menos como:
Note la presencia de varias conexiones entre los estudiantes y las
carreras. El sumando λ Prio potencia que al estudiante se
le seleccione la carrera de su preferencia. Sin embargo, el
algoritmo podría asignarle otra carrera (de su escogencia) si se
considerase menos costoso en global.
2.4 Algoritmo de asignación actual
Adicional a las alternativas anteriores está el algoritmo actual, el
cual sólo considera el índice académico y del cual algunos creen que
no da idea acerca del coste global social de la asignación.
Para comprender la diferencia entre los esquemas anteriores y el
empleado actualmente, es importante recapitular el esquema actual.
En primer lugar, el algoritmo de asignación actual sólo cuantifica el
índice I, el cual, si bien considera factores socioeconómicos y
demás cosas por el estilo, no mide el coste que acarrea para la nación
el efectuar una determinada asignación, así como tampoco la considera
al momento de efectuar la asignación.
Grosso modo, el algoritmo actual se puede resumir bajo lo
siguiente:
-
Se calculan los índices académicos multivariables de todos los
bachilleres (estos ya están dados por el sistema).
- Por cada carrera/Universidad se escogen los primeros
bachilleres que tengan índice superior al exigido por la
Universidad y que hayan seleccionado como primera opción la
carrera en cuestión. Esta asignación se realiza hasta agotarse
el cupo.
- El procedimiento se repite para las carreras/Universidad
restantes.
- Cuando se hayan asignado todas las carreras y bachilleres con
su primera prioridad, el procedimiento se repite con las
carreras disponibles (las que aún tienen cupo) y las segundas
opciones de los bachilleres.
El procedimiento continua hasta que ya no sea posible efectuar más
asignaciones.
3 El trabajo
En este trabajo se pretende construir un prototipo de sistema
programado que lea los datos de bachilleres y carreras/Universidad y
realice distintas asignaciones según los tres métodos y con diversos
ajustes de los pesos α, β,γ, δ,є,θ y
λ.
El fin del sistema es estudiar diversas asignaciones y descubrir los
valores de los pesos según las circunstancias políticas del momento.
3.1 Entrada
La entrada se divide en dos tipos: bachilleres y conjuntos
carreras/Universidad. Ambas entradas son archivos en formato csv.
El sistema debe estar preparado para manejar una escala promedio de
700.000 bachilleres y 10.000 pares distintos de carrera/Universidad.
3.1.1 Carreras/Universidad
Para las universidades se maneja un sólo archivo cuyos campos son:
nombre de la Universidad, nombre de la carrera, código único de la
dupla carrera/Universidad, cantidad de cupos disponibles, duración de
la carrera en meses, coordenadas
latitudinales del lugar donde se encuentra la carrera, índice
académico solicitado por la Universidad, coste económico que
representa la carrera para el país (Ce) y la importancia
estratégica que se le otorgue a la carrera (IU).
Así, por ejemplo, una fila de este archivo podría ser algo como:
ULA, Ingeniería de Sistemas, 476, 20, 60, XX, YY, 90.3, 12, 10
** **
Esta fila indicaría la Universidad de Los Andes, la carrera de
Ingeniería de Sistemas cuyo código único (carrera/Universidad) es 476,
capacidad de cupos 20, de 60 meses de duración, situada en las
coordenadas geográficas XX y YY, con un
índice académico solicitado de ingreso de 90.3, un coste económico anual
de 12 (las unidades no importan siempre y cuando sean las mismas) y una
importancia estratégica de 10.
Los asteriscos señalado en el ejemplo no son parte de la
entrada; se usan para señalar los campos de coordenadas, los cuales aún
no han sido definidos. Por los momentos, asuma que son coordenadas
euclidianas positivas respecto a un punto (0,0) de referencia.
3.1.2 Bachilleres
Para los bachilleres se manejan dos tipos de archivos:
-
Registro de bachilleres, el cual está compuesto por el número
de cédula, apellidos, nombres y un número único de registro.
- Registro de datos ingreso, compuesto por el número único de
registro, promedio de notas, nivel socioeconómico, coordenadas
latitudinales de su lugar de origen, condición especial,
intentos de ingreso, índice académico y una lista de m
códigos únicos de carrera/Universidad correspondiente a la
selección del bachiller por orden de prioridad que escogió el
bachiller.
Un ejemplo de fila de este archivo podría ser:
17662938, 14.2, C, 09 19 04 N, 70 36 13 W, 1, 1, 75.3, 476, 478, 299, 352, 192, 102
Esta fila indicaría a un bachiller con número de registro
17662938, un promedio de notas de 14.2, de nivel
socioeconómico C, proveniente de Valera, cuyas coordenadas
latitudinales son 09 19 04 N y 70 36 13 W, sin una condición
especial, en su primer intento de ingreso a la Universidad,
con un índice académico OPSU de 75.3 y con solicitudes de
cupo, por orden de prioridad, las carreras/Universidad cuyos
códigos son 476, 478, 299, 352, 192 y 102.
El sistema es independiente del primer archivo.
La idea de esta separación es que los datos de identidad, aunque de
patrimonio público, son confidenciales.
3.2 Estudios preprocesamiento
Con los datos suministrados de bachilleres y carreras/Universidad, se
requiere conocer algunas distribuciones y tendencias que proporcionen
una idea del problema previo al proceso de asignación.
3.2.1 Estadísticas descriptivas
Se desean estadísticas descriptivas (promedio, mediana, moda, desviación)
sobre el promedio de notas y el índice académico.
Se desea observar la repartición de estas estadísticas según los
niveles socioeconómicos y radio latitudinales.
3.2.2 Ordenamiento de la demanda
A nivel nacional, por universidades, y por carreras/Universidad, se
desean conocer reparticiones de la demanda, discernidas por nivel
socioeconómico, rango de promedio de notas, índices académicos,
valores de los costes Coste y Costeλ.
Por ejemplo, del total de bachilleres, se quisiera conocer las
cantidades y porcentajes que solicitan Ingeniería de Sistemas
discernidas por condición socioeconómica.
Otro ejemplo sería establecer unos rangos de promedios, por instancia
[10-14], [15-18] y [19-20], y con ellos discernir cómo se distribuye
la demanda sobre la carrera de Ingeniería de Sistemas de la ULA.
3.2.3 Ordenamiento de la oferta/demanda
Por Universidad y por carrera se desean conocer ordenamientos de
oferta y su respectiva demanda.
3.3 Procesamiento
El sistema debe leer y validar los archivos de registro de datos de ingreso y
el de carreras/Universidad.
Según sea la selección del usuario, el sistema debe calcular una
asignación.
En caso de emplear una asignación por el modelo de red de flujo, el
sistema debe construir la red, calcular el coste -fórmulas
(8) y (10)- y luego calcular la
asignación.
3.4 Interfaz
La interfaz del sistema debe permitir ajustar los parámetros de las
fórmulas de costes (8), (10) y
(9), así como las ponderaciones para los niveles
socioeconómicos.
Una vez leídos los respectivos datos a través de los archivos
especificados, con la excepción de los nombres de carreras,
bachilleres, universidades y códigos únicos de bachilleres y
carreras/Universidad, se debe estar en la capacidad de modificar,
cualquier otro dato de un bachiller en particular o de la carrera. Del
mismo modo, debe poderse insertar y eliminar nuevos bachilleres y
carreras.
Se deben manejar, como unidades u objetos, conjuntos de archivos de
entrada, y las combinaciones de pesos y niveles socioeconómicos
empleadas, los procesos de asignación empleados y los distintos
archivos de salida generados. Las estadísticas pueden manejarse dentro
del mismo sistema u otro separado2.
En general la interfaz debe permitir la carga de archivos, estudios,
ajuste de parámetros y pesos, decisión sobre el método de asignación y
el guardado y recuperación de sesiones de trabajo.
3.5 Salida
El resultado fundamental es un archivo en formato csv contentivo de
las asignaciones según sea al método empleado.
Cada línea del archivo de salida debe contener el número único de
registro del bachiller, la carrera/Universidad asignada y el coste de la
asignación.
3.6 Estudios postprocesamiento
A partir del archivo de salida, se requieren, como mínimo, los
siguientes estudios.
Cada estudio debe estar acompañado de la mayor cantidad posible de
indicadores estadísticos.
3.6.1 Discrepancia con el bachiller
Se desean conocer a diversos niveles, nacional, por Universidad y por
Universidad/carrera, la distribución de asignaciones según las
prioridades inscritas por el bachiller discriminadas por nivel
socioeconómico y rangos de notas.
Por ejemplo, para la carrera de Ingeniería de Sistema de la ULA, se
quisiera conocer una diagrama de torta que exprese cuantos
bachilleres y cuál porcentaje, provienen por su primera
opción. Cuantos por la segunda opción y así sucesivamente.
3.6.2 Discrepancia con el criterio carrera/Universidad
Se desea conocer cuál es la proporción de bachilleres que hubiera
admitido la Universidad según sus criterio versus la proporción que
no hubiera admitido. Esto se desea conocer en general para el país,
Universidad y carrera/Universidad.
3.6.3 Porcentaje de cupos asignados por condición socioeconómica y por condición especial
Se desea conocer cuál es el porcentaje de bachilleres asignados de la condición socioeconómica
A, B, C, D, E según se requiera, también conocer el porcentaje de bachilleres de condición
especial admitidos.
3.6.4 Ofertas vacantes
Ordenamiento de ofertas vacantes; es decir, cupos disponibles.
3.6.5 Demandas insatisfechas
Ordenamiento de demandas insatisfechas según diversas
discriminaciones: nivel socioeconómico, rango de promedios, radio
latitudinal, etc.
4 Condiciones y requerimientos
4.1 Conformación de los grupos
Máximo cuatro personas, se debe seleccionar un gerente por grupo, habrá reuniones
con los gerentes cada dos o tres semanas según sea necesario para discusiones
acerca de los avances.
El sistema debe ser programado en el lenguaje de programación C++.
La interfaz del sistema programada debe estar realizada en QT versión
4 o superior.
Las redes de flujo y otras estructuras de datos y algoritmos deben
estar modelizadas y resolverse en Aleph-w. No está permitido usar
bibliotecas externas, aunque puede escribir las suyas y/o modificar o
extender Aleph-w para corregirle errores o mejorarla. Transgresión de esta
condición acarrea cero en la evaluación.
4.5 Sistema operativo
Aleph-w ha sido probado para los compiladores Intel y GNU. Como tal, el
sistema operativo de soporte es Linux. Sin embargo, a condición de que
Ud. se haga responsable por la portatibilidad,es permitido
emplear un compilador distinto; por ejemplo Visual C++ de Microsoft.
En caso de apegarse por Visual C++ tenga en cuenta lo siguiente:
-
Si se requieren hacer modificaciones sobre la biblioteca, ud
tiene la obligación de notificar las modificaciones y su
justificación.
- La versión de prueba es la 10.0.3. Por versiones anteriores o
superiores no se asume responsabilidad alguna en caso de falla
de compilación.
4.6 Evaluación
La evaluación se hará por módulos. A la excepción de la interfaz, los
módulos serán líneas de comandos con sus respectivos parámetros de
entrada y salida. Los nombres de los comandos, los parámetros de
entrada y salida junto con sus nombres y los formatos de salida de los
módulos de preprocesamiento y postprocesaminto serán definidos en las
reuniones.
Las reuniones, cuando se requiera, se harán los viernes de 10 a 11:30
AM. Si no puede asistir en este horario, entonces no asuma la
responsabilidad de gerenciar el proyecto. La primera reunión se
efectuará el viernes 18 de mayo.
Cada módulo será evaluado del siguiente modo:
Velocidad | Consumo memoria | Diseño |
50 % | 30 % | 20 % |
Los tres tipos evaluaciones, velocidad, consumo de memoria y diseño se
harán por medidas de rendimiento sobre entrada y salida
correctas. Si el programa no genera la salida correcta, entonces la
calificación es cero. Por favor, tome muy en cuenta esto porque
no habrán excepciones.
Si modulo es declarado correcto (genera correctamente la salida),
entonces se efectuarán medidas de rendimiento sobre la velocidad y
consumo de memoria para diversas entradas. Por cada entrada se
efectuarán al menos tres ejecuciones y sólo se tomará la más
rápida. Los promedios de velocidad y consumo de memoria se promediarán
y se le otorgará una puntuación en unidades directas; la velocidad
será en segundos y microsegundos, el consumo de memoria en cantidad de
bytes de consumo (incluyendo el código ejecutable).
El diseño tendrá dos apreciaciones, una manual y otra automática. La
automática consistirá en estudiar (con las herramientas apropiadas) el
grafo de llamadas de en ejecución del módulo. Este grafo será cotejado
con los módulos de los otros grupos para pasar un test plagio. La
apreciación manual consistirá en revisar el código fuente y otros
documentos que se anexen. Del diseño se otorgará una calificación
entre 0 y 20 puntos llamada Nota_d.
La nota por la velocidad (tmin)será de 20 puntos al módulo más
rápido entre todos los entregados. Los módulos restantes se
calificarán con la nota normalizada al más rápido:
Por ejemplo, si el módulo más rápido tiene un promedio de velocidad de
t=6,36 s, entonces, otro módulo cuya velocidad promedio sea de 9
segundos tendrá 14.13 puntos.
La nota por el consumo de memoria M es similar:
La nota del módulo será entonces:
Nota = 0.5×Nota_t +
0.3× Nota_m + 0.2×Nota_d
|
Módulo | Ponderación % | Fecha de entrega |
Interfaz (GUI) | 10 | En cada avance |
Preprocesamiento | 15 | 01/06/2012 |
Asignación 1 | 10 | 22/06/2012 |
Asignación 2 | 15 | 13/07/2012 |
Asignación 3 | 20 | 27/07/2012 |
Postprocesamiento | 25 | 22/06/2012 |
Manual de referencia y de usuario | 5 | 27/07/2012 |
Table 2: Ponderación y fecha de entrega de los módulos |
Los módulos se envían en tar por email con el subject AYDA-modulo-1
(sin acentos) a las direcciones leandro.r.leon@gmail.com y
aledrums@gmail.com. No olvide colocar el subject como se
solicita, pues de lo contrario se arriesga a pérdida del email.
El tar del módulo sólo debe contener fuentes y el makefile. La
compilación del módulo debe estar atada make all.
Está permitido compartir (si se desea) ideas de diseño, de algoritmos
y de estructuras de datos. Sin embargo, está prohibido compartir
código con otro grupo o recibir código de otra fuente. Tenga siempre en
cuenta que violar esta regla es considerado un fraude que de
detectarse acarrearía la anulación del proyecto.
5 Especificaciones técnicas de los módulos
Está sección se irá aumentando conforme vaya avanzando el proyecto. Su
propósito es fijar las condiciones de entrega de cada módulo.
5.1 Módulo de preprocesamiento
El archivo ejecutable debe llamarse pre. Asegúrese de que el
makefile tenga la opción make pre para generar el
ejecutable pre.
pre está destinado a ejecutarse en dos fases.
5.1.1 Primera fase
En esta fase pre recibe dos archivos de entrada:
./pre -F<archivo-estudiantes> -U<archivo-carreras> -o<archivo-salida>
Por omisión, <archivo-salida> se llama
pre-1.txt ; esto quiere decir que si no se especifica la
opción -o<archivo-salida> entonces éste será pre-1.txt.
En cada línea del archivo de salida debe ir, por cada estudiante
del archivo de estudiantes toda esa fila concatenada con la fila de la
carrera 1, otra para la carrera 2 y así sucesivamente para las
m carreras que solicitó y debe estar ordenado por id de estudiante
como clave primaria y por orden de opción de carrera como clave
secundaria.
Ejemplo genérico:
Línea de estudiante 1, Línea de la carrera que solicitó como primera opción
Línea de estudiante 1, Línea de la carrera que solicitó como segunda opción
...
Línea de estudiante 2, Línea de la carrera que solicitó como primera opción
Línea de estudiante 2, Línea de la carrera que solicitó como segunda opción
.
.
.
Línea de estudiante N, Línea de la carrera que solicitó como primera opción
Línea de estudiante N, Línea de la carrera que solicitó como segunda opción
...
5.1.2 Segunda fase
La segunda fase consiste en procesar el archivo de la fase anterior
para obtener estadísticas.
Básicamente, la interfaz puede describirse así:
./pre [-f<archivo-entrada>] [parámetros-coste | filtros] [-o<archivo-salida>]
Note que todos los parámetros de pre son opcionales. Si sólo se
ejecuta ./pre, entonces se asume como archivo de entrada
pre-1.txt, parámetros de coste en 1 y estadísticas sobre todo el
archivo.
Las estadísticas descriptivas son la media, mediana, moda, varianza y
desviación, las cuales siempre se deben poner, en el orden ya dado,
separadas por comas, en la última línea del archivo de salida.
Las líneas antecesoras a las estadísticas contienen líneas del
<archivo-entrada> que encajan con los criterios “filtro” más
los costes según las fórmulas (8) y (10)
de cada carrera seleccionada por el estudiante.
Parámetros
Los parámetros corresponden a los valores de las letras griegas de
las fórmulas (8) y (10)
respectivamente. Por omisión estos valores son 1.
A continuación se presentan las convecciones para estos parámetros:
-
-lvalor o --lambda=valor para el modificador lambda
- -avalor o --alfa=valor para el modificador alfa
- -bvalor o --beta=valor para el modificador beta
- -gvalor o --gamma=valor para el modificador gamma
- -dvalor o --delta=valor para el modificador delta
- -evalor o --epsilon=valor para el modificador epsilon
- -tvalor o --theta=valor para el modificador theta
- -kvalor o --kappa=valor para el modificador kappa
Filtros
Los filtros especifican subconjuntos de los estudiantes y carreras
para los cuales se desea calcular sus estadísticas. A continuación
se describen los distintos tipos de filtros y sus valores en la
línea de comandos:
- -s<rango> o --estudiante=<rango> filtrado por id de
estudiante.
- -Sid o --seleccion=id id de carrera seleccionada
- -nnivelsocio-económico o --nivel=nivel-socioeconómico
- -unombre-universidad o
--universidad=nombre-universidad filtrado por nombre de la
Universidad. Si el nombre de la Universidad posee espacios en
blanco, entonces éste debe ponerse entre comillas.
- -Cnombre-carrera o --carrera=nombre-carrera
filtrado por nombre de carrera (también puede estar entre
comillas).
- -p<rango> o --promedio=<rango> filtrado por promedio de notas
- -iid o --id-carrera=id filtrado por id de la carrera
- -I<rango> o --indice=<rango> filtrado por
índice académico
- -O<rango> o --opcion=rango filtrado por cantidades de
intentos de asignación de cupo en universidad.
- -d o --condicion-especial filtrado por condición especial
- -# o --intentos=número-intentos filtrado por cantidad
de años solicitando cupo
Las opciones con “rangos”, que se especifican mediante
<rango>, especifican rango numéricos según el tipo de filtro
especificado. En caso del promedio, por ejemplo, -s12,15 indica en
rango de promedios entre 12 y 15 puntos. Si sólo se desea una nota
específica, entonces se puede colocar sin coma; por ejemplo -s16
para indicar los promedios de 16 puntos (aunque note que en el caso
del promedio esto puede no tener muchos sentido pues éstos se dan hasta
con dos decimales). Intervalos abiertos se especifican con el guión
-. Por ejemplo, para filtrar los estudiantes con más de 16
puntos se puede indicar -s16,-.
Ejemplos
Para filtrar los bachilleres que solicitan cupo para
Ingeniería de Sistemas con condición socioeconómica C que tengan
un promedio de notas como mínimo de 14 puntos,
la línea de ejecución es la siguiente:
pre --carrera="Ingenieria de Sistemas" --nivel=C --promedio=14,-
O usando las versiones abreviadas:
pre -C"Ingenieria de Sistemas" -nC -p14,-
Para filtrar los bachilleres con alguna condición especial que
solicitan cupo en la Universidad de Los Andes y tienen más de 3 intentos
solicitando cupo, la línea de ejecución es la siguiente:
pre --universidad="Universidad de Los Andes" --condicion-especial=0 --intentos=3,-
O usando las versiones abreviadas:
pre -u"Universidad de Los Andes" -d 0 -# 3,-
5.2 Módulo de conectividad y 1ra asignación
5.2.1 Módulo de conectividad
El fin de esta fase es reducir la escala de cálculo, y por
consiguiente el tiempo de ejecución y memoria, del grafo de
selecciones estudiantes a carreras.
Para ello, se debe construir un grafo (no dirigido) de las
selecciones. Luego se ejecuta el cálculo de los componentes
inconexos (vea la clase Inconnected_Components). El resultado
es un conjunto de grafos inconexos que puede tratarse y calcularse
separadamente bajo cualquier esquema de asignación.
El módulo de esta fase se llama:
./subgrafos -f archivo-estudiantes [-m carreras] [-o archivo-salida]
El archivo de estudiantes junto con sus selecciones es imperativo. La
opción -m es la cantidad de selecciones que se considerará en el
conectividad, la cual por omisión es 1.
Note que cuanto menor es -m mayor es la probabilidad de
inconectividad del grafo.
La opción -o indica que la salida debe enviarse hacia al archivo
especificado en archivo-salida. Si no se especifica, entonces la
salida es hacia stdout.
El formato de salida es prácticamente cada fila del archivo de
estudiantes con una columna concatenada correspondiente al “color”
del bloque inconexo dónde se encuentra. Coloque simplemente un número
entre 1 y el número de bloques inconexos. No use el valor cero como
color y recuerde que será la última columna y que estará separada por
coma.
5.2.2 1ra asignación
En esta fase se deberá efectuar la asignación al estilo que se
presume es el actual y explicado en § 2.4.
El nombre del módulo es:
asigna-1 -f archivo-estudiantes
This document was translated from LATEX by
HEVEA.