PDA

Ver la Versión Completa : Rotacion de Choferes y Sitios


lKinGl
17-09-2008, 03:40:33
Salu2 amigos foristas

quisiera que me aportaran una ayudita con respecto a lo siguiente

estoy haciendo un software (por mi pasantia en T.Su en informatica)para mi universidad especificamente el area de transporte...

y ellos elaboran un listado de choferes y de autobuses

y por ejemplo ellos semanalmente tienen que cambiar la programacion por ejemplo:

Semana Nº1

Chofer1 le toca ir a Sitio 1
Chofer2 le toca ir a Sitio 2
Chofer3 le toca ir a Sitio 3

Semana Nº2

Chofer1 le toca ir a Sitio2
Chofer2 le toca ir a Sitio3
Chofer3 le toca ir a Sitio1

Semana Nº3

Chofer1 le toca ir a Sitio3
Chofer2 le toca ir a Sitio1
Chofer3 le toca ir a Sitio2

y asi sucesivamente

lo que quiero es expresar que a los choferes los rotan de asignaciones a sitios y no tengo idea como automatizar este proceso


manejo delphi 7 y paradox7

Gracias adelantadas por sus valiosas ideas :D

Fenareth
17-09-2008, 03:53:10
Hola lKinGl ! :)

Así de buenas a primeras se me ocurre que puedas tener un arreglo con los diferentes Sitios y otro con los Choferes... no sé si haya más Sitios que Choferes o estén en la misma cantidad pero puedes ir recorriendo a cada uno de los choferes por los sitios en cada semana que pasa...

Por ejemplo la primera semana el Chofer 0 va al Sitio 0, el 1 al 1 y el 2 al 2, después recorremos el arreglo haciendo que el Chofer 1 esté en primer lugar, el 2 en segundo y el 0 en tercero, entonces si dejamos los Sitios en el mismo orden de esta manera ahora el Chofer 1 va al Sitio 0, el 2 al 1 y el 0 al 2...

Cada semana el arreglo de Choferes se recorre haciendo que el que estaba en primer lugar la semana anterior, ahora sea el último...

No sé si me doy a entender :o... en mi cabeza lo tengo hasta con diagramas pero no sé si me estoy dando a explicar :D :D...

Espero te sirva de ayuda la idea y esperemos otras aportaciones un poco más claras :)

Saludos,

lKinGl
17-09-2008, 03:57:55
Muchas gracias ujum me has pedido una informacion que no te di y es que hay 27 choferes y sitios creo que hay al rededor de 15 asi que hay veces que hay choferes en descanzo no se si eso ayude, con respecto a tu respuesta yo manualmente se hacer lo que quiero, mi duda es como automatizarlo con delphi 7 y paradox 7

no se que son los arrays ni para que se usan pero tengo una corazonada de que voy a tener que aprender que son y como se usan en delphi para lograr lo que quiero ¿cierto?


gracias por tu aporte

Fenareth
17-09-2008, 04:12:39
Muchas gracias ujum me has pedido una informacion que no te di y es que hay 27 choferes y sitios creo que hay al rededor de 15 asi que hay veces que hay choferes en descanzo no se si eso ayude, con respecto a tu respuesta yo manualmente se hacer lo que quiero, mi duda es como automatizarlo con delphi 7 y paradox 7

no se que son los arrays ni para que se usan pero tengo una corazonada de que voy a tener que aprender que son y como se usan en delphi para lograr lo que quiero ¿cierto?


gracias por tu aporte

Pues sería una buena idea que leyeras un poco de los arreglos para que lo tomaras como una posibilidad.

Ahora, en el caso de la tabla en Paradox, puedes pensarlo con un campo llamado choferes (aquí iría el nombre o algún identificador del chofer) y tantos campos como Sitios tengas (incluyendo como Sitios los descansos que en total serían Tu total de Choferes menos los Sitios Reales a visitar)...

Lo interesante sería el bucle que llenara las intersecciones de Choferes y Sitios en la Tabla de tal manera que cada registro que guardes contuviera el número de semana correspondiente y el año al que haces referencia... Algo así como 2-2008 (especificando que es la semana 2 del 2008)...

Ve armando más o menos las ideas que te vayamos aportando y analizándoles elige la que encuentres más sencilla de implementar... :)

Y sobre todo, ve pensando en tus propias ideas, que al final, creo que te será mucho más benéfico ;)

Saludos,

lKinGl
17-09-2008, 04:17:00
Salu2

yo creo que con respecto a dias no hay problema lo que no se hacer es la rotacion por que podria crear una tabla de choferes que tenga el campo"dia" Integer que cuando registren el proceso de actividad a todos los choferes se les registre 7 y que cada dia vaya restando y cuando llegue a 0 vuelva el valor de dia a 7 pero se haga la rotacion con respecto a los choferes y sitios

creo que vamos avanzando :P

Delphius
17-09-2008, 04:32:14
"Tres" preguntitas:
1. ¿Siempre habrá esa cantidad de choferes y de sitios? O por el contrario ¿existe alguna posibilidad de que se altere dicha cantidad?
2. ¿Cómo es el proceso de turno de descanso?
3. Si por x motivo, un chofer falta ¿como se procede?

¿Porqué te pregunto esto? Porque puede que exista un método directo para realizar lo que pides. Hasta se me ocurre que es posible que con unas simples operaciones matemáticas podamos determinar que choferes van a que sitio y/o si le corresponde descanso.

Saludos,

lKinGl
17-09-2008, 04:37:43
hmmm si se puede alterar la cantidad de choferes

yo les hable de la parte del sistema que se me complica pues no les comente que tiene un modulo para registrar choferes y vias nuevas

si un chofer llegase a faltar se pondria en estado inactivo en un campo de la tabla paradox llamado Status

el turno de descanso es que si yo soy un chofer y esta semana trabajé la proxima semana la tengo libre osea semanas intercaladas

gracias por sus posts

Delphius
17-09-2008, 04:48:03
hmmm si se puede alterar la cantidad de choferes

yo les hable de la parte del sistema que se me complica pues no les comente que tiene un modulo para registrar choferes y vias nuevas

si un chofer llegase a faltar se pondria en estado inactivo en un campo de la tabla paradox llamado Status

el turno de descanso es que si yo soy un chofer y esta semana trabajé la proxima semana la tengo libre osea semanas intercaladas

gracias por sus posts
Ummm, estoy pensando... dame un tiempo.

Con respecto a lo marcado con negrita.... no se como debo interpretar realmente tu duda. ¿Estamos hablando semanalmente no? Porque si es así, como que se contradice lo que dices inicialmente con lo de ahora:

Semana 1:
Chofer 1 a sitio 1
Chofer 2 a sitio 2
...
Chofer N a sitio N

Semana 2:
Chofer N+1 a sitio 1
Chofer M+2 a sitio 2
...

Semana M:
Chofer 1 a sitio 2
Chofer 2 a sitio 3
....

O yo entendí mal o hay algo que se nos escapa. Si un chofer trabaja la semana 1, la semana siguiente le corresponde descanso... y es así... entonces espera M semanas para que se le asignara el sitio 2. Siendo M la cantidad de choferes, y N la cantidad de sitios.

¿Se entiende lo que digo?
¿O yo estoy entendiendo mal?

Saludos,

lKinGl
17-09-2008, 04:50:15
nono delphius disculpa me expresé mal yo

chofer 1 va sitio1, sitio2, sitio3 semanalmente cambiandolos cuando el va a todos los sitios le corresponde 1 semana de descanso

Delphius
17-09-2008, 05:03:53
nono delphius disculpa me expresé mal yo

chofer 1 va sitio1, sitio2, sitio3 semanalmente cambiandolos cuando el va a todos los sitios le corresponde 1 semana de descanso
OK, ahora entiendo más.

Disculpa que sea pesadito...
Entonces, a la N semana (siendo N la cantidad sitios) le corresponde descanso. ¿El descanso es por esa semana?
En caso de que se ausente, se le pone el estado inactivo. ¿Repercute luego en algo la asignación de las rutas a su reincorporación? Por ejemplo, si falta la semana, debe cumplir con más rutas.... o tal vez se le quita el derecho a descanso.

Esto te lo pregunto porque sigo pensando que el problema tal vez sea bastante simple de resolver con operaciones un tanto elementales y no habrá que rebuscarse con algunas complicaciones.
Ve pensando en que un año tiene 52 semanas. Existen M choferes repartidos en N sitios. Al ser algo cíclico, algo me dice que hay una "fórmula" que te puede devolver la información.

Me gustaría saber que avances tienes, si ya probaste en algo. Antes de que me meta al charco, sería oportuno que si haz logrado elaborar alguna idea, avance... lo que sea... que nos comentes.

Saludos,

lKinGl
17-09-2008, 05:11:43
nono lo cierto es que las pasantias las comence ayer y solo he estado conversando con el encargado del departamento sobre lo que quiere

he hecho esta estructura del sistema
una base de datos el cual adjunto a continuacion

no he codificado nada solo he hecho el mainmenu y esa base de datos

http://www.servimerida.net/1.rar

pueden descargarlo con toda confianza es servidor propio :)

lKinGl
17-09-2008, 05:14:44
que les parece esto?

asignar en el campo rutas

donde se guarda

Sitio1
Sitio2
Sitio3
agregar
Descanso
Descanso
Descanso

osea son como 15 sitios y 27 choferes

entonces llenariamos de descanzo 12 registros cierto?

mmm no se que pensar jejeje creo que con lo que acabo de plantear queda una matris cuadrada mas facil de manejar por que sera de 27 sitios y 27 choferes :D

Delphius
17-09-2008, 09:21:37
Cuando apagué el PC, me quedé pensando el tema, y mientras estaba viendo una peli me dije que había que analizarlo mejor.
Agarré una hoja, lápiz. Hice una matriz o tabla, en las filas: los choferes, en las columnas, las semanas. Cada celda corresponde al sitio que se le asigna. Y lo que vi me dice que hay algo que no cuadra.

Analizemos la cuestión. Dijiste que una vez que un chofer completa los sitios se gana una semana de descanso. Bajo esta premisa, lo que yo entiendo es que si N es la cantidad de sitios, los primeros N choferes se llevan N semanas de trabajo. Por tanto los siguientes N choferes harán la siguiente ronda.
Si M es la cantidad de choferes, para garantizar de que todos los choferes tengan su descanso merecido al cumplir los sitios, necesariamente M debe ser igual a 2N.
¿Veamoslo con números te parece?
Tenemos N = 15 sitios, y M = 27 choferes.
La matriz podría ser algo asi:

C01-01-02-03-04-05-06-07-08-09-10-11-12-13-14-15
C02-02-03-04-05-06-07-08-09-10-11-12-13-14-15-01
C03-03-04-05-06-07-08-09-10-11-12-13-14-15-01-02
C04-04-05-06-07-08-09-10-11-12-13-14-15-01-02-03
C05-05-06-07-08-09-10-11-12-13-14-15-01-02-03-04
...
C15-15-14-13-12-11-10-09-08-07-06-05-04-03-02-01
C16-00-00-...00
C17-00-00-...00
...
C27-00-00-...00

El Chofer 1, en la semana 1 va al sitio 1, en la semana 15 al 15. La cuestión es que el chofer 15 en la semana 1, va al sitio 15, y en la semana 15 al 1. Hasta allí todo bien.

Analizando en perspectiva, estos 15 choferes se han ganado 15 semanas de descanso. Los primeros 15 trabajan, luego vienen otros. Es decir que desde la semana 16 hasta la 30, deberían ir a trabajar los choferes 16 al 27.

Nos quedan a disposición 27-15 choferes a repartir, es decir 12. 12 para cubrir 15 ¿De donde sacamos tres choferes más? Si los primeros 15 han cumplido merecidamente su trabajo... les corresponde su descanso.

El escenario en que me baso es que ninguno falta al trabajo.

La cuestión es que algo me dice que no estás analizando totalmente el tema. No es por ser malo pero hay en el medio del todo el proceso de asignación que no está bien contemplado.

Tu bien lo dijiste al final, la cuestión es que sería mucho más fácil si obtuvieramos una matriz cuadrada.

Lo que me llama la atención es la libertad con la que puedes exponer y pedir ayuda. Me sorprende. Cuando yo tuve que hacer mis pasantías estuve obligado legalmente a no divulgar nada (solamente podía mencionar la empresa donde fue, y en que sector desempeñé mi trabajo; no podía indicar que tipo de proyectos he realizado). Como será de que no tenía la posibilidad de entrar a internet, y sólo se me permitió para hacer unas consultas por unos minutos.

Ha pesar de haber pasado ya unos años de esas pasantías, y de haber finalizado esos contratos... prefiero guardarme lo que realicé. Esas letras chiquitas todavía se me quedan en la cabeza.

Bueno volviendo al caso...

Por un momento estuve pensando en escribir código, pero después de haber hecho ese análisis todavía no me puedo sentar tranquilo.
Sabiendo que se trata de tu experiencia laboral, con más razón no debería aportarte código:D. Supuestamente para ello está la pasantía, para que tu ganes experiencia. ¿No tienes asignado algún tutor en la empresa?:confused: Supuestamente es esa persona la encargada de asesorarte y de explicarte el dominio.

No lo tomes a mal, simplemente creo que deberías analizar mejor esto. Más sabiendo que se trata de tu práctica profesional.

¿Comenzaste ayer y ya empiezas a consultarnos? Ummm....:rolleyes: Al menos date una oportunidad de asimilar y aclimatarte al ambiente ¿Cúanto tiempo te dieron?
No es por malo pero es que si todavía no tienes demasiado fresca la idea, va a ser difícil que te podamos ayudar. Sigo pensando, que va a ser mejor que lo hables con tu tutor (deberías tener uno).
Que esa charla no te haga sentir inseguro, sino que te muestre lo necesario para comprender el ambiente en el que estás. Además no cometas el error de pedir demasiada ayuda al tutor.
Supuestamente la primera semana es para comprender lo que tienen hecho, conocer a los demás. Luego se le pone a mano dura.

Una última curiosidad. Unos post antes comentaste que no sabías sobre arrays... Tal vez los conoces con otro nombres: arreglos o vectores. Si no los conoces... Este.... no quiero sonar agresivo pero.... ¿entonces hasta donde llegan tus conocimientos?:confused: Esto te lo pregunto de buena onda, me intriga que hayas dicho eso puesto que suele ser unos de los primeros conceptos que se te dá en la materia de Estructura de datos y en Lenguajes.

No si sería oportuno ver el rar que nos haces llegar. No se si estoy violando alguna ley. Mejor dicho: tal vez, el exponer eso tu estás violando alguna ley o clásula de contrato.
Mejor piensalo bien, por el bien de tu pasantía, de la empresa a la que estás trabajando y la universidad.

Espero que no tomes a mal mis comentarios. Si es posible, viable (y legal) que te asesoremos, ya nos dirás. Por lo pronto... mejor cuídate amigo.

Saludos,

coso
17-09-2008, 14:53:19
Hola, te dejo un ejemplo de rotacion de arrays. Trata el tema de manera general, para que veas la idea. Las excepciones (ej, menos choferes que sitios o descansos extras) no se contemplan.


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
chofers : array of string;
sitios : array of string;
desfase : integer;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
df : integer;
ls : integer;
begin
setlength(chofers,27);

for i := 0 to length(chofers) - 1 do
chofers[i] := 'chofer ' + inttostr(i);

setlength(sitios,15);
for i := 0 to length(sitios) - 1 do
sitios[i] := 'sitio ' + inttostr(i);

df := length(chofers) - length(sitios);
ls := length(sitios);
if df > 0 then
begin
setlength(sitios,length(chofers));
for i := ls to length(sitios) - 1 do
begin
sitios[i] := 'descanso por falta de sitios';
end;
end;
desfase := 0;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
i : integer;
begin
Memo1.Lines.Clear;
for i := 0 to Length(sitios) - 1 do
Memo1.Lines.Add(chofers[i] + ' ' + sitios[(i + desfase) mod Length(sitios)]);

inc(desfase);
end;


lo que hace es : crea tantos descansos como choferes que se quedan sin sitio (matriz cuadrada, que decias), asigna a cada chofer un sitio, rotando este segun un desfase (cada semana, por ejemplo, en el ejemplo es a cada click). Un saludo y a ver si te sirve.

NOTA : al finalizar el programa, se tendria q liberar chofers y sitios.

coso
17-09-2008, 15:57:49
Y sobre todo, ve pensando en tus propias ideas, que al final, creo que te será mucho más benéfico ;)

cierto :p saludos ;)

fer21unmsm
17-09-2008, 20:27:43
Hola, me he leido todos los posts aunque un poco largo el problemita, como menciona el amigo Delphius, y según lo leído hay varios cabos sueltos en el problema que mencionas, o que al menos no entiendo, también sería bueno que mencionaras los criterios de restricción que supongo deben de haber, como por ejemplo la relación entre el número de choferes y de sitios, etc. Sería bueno que hicieras una especie de diagrama de flujo, esto puede darte mayor claridad sobre si haz comprendido bien o no el problema.

Saludos cordiales.

lKinGl
18-09-2008, 04:10:56
Es muy correcto tu analisis amigo delphius pues les pregunto el primer dia por que no se me habia presentado algun problema como ese

y no tenia idea de como se trataba otra cosa...

aqui es legal pedir ayuda estoy en este pais de mierda no se respeta nada (venezuela), pues en mi universidad no me enseñaron delphi, conoci y aprendi cositas de delphi siguiendo tutoriales y cosas asi

el hacer un software en delphi es idea mia, pido ayuda a ustedes por que son los que saben de delphi en mi institucion no saben delphi asi que quedo aislado de los profesores.

yo elegi a un tutor por que me gusta como analiza las cosas de una forma muy critica, con mucha logica mejor dicho, pero no tiene conocimiento alguno de delphi...

jaja y yo las consultas a clubdelphi las hago desde mi casa por que en la empresa que las estoy haciendo la conex de internet no es nada rapida..

y pues no se arrays por que nunca me han gustado en nignun tipo de programacion me los enseñaron en mi universidad en lenguajes como turbo pascal, foxpro 2.0, visual basic 4

y nunca sali bien en esos examenes, debe ser porque nunca los vi necesarios


y con respecto a violar una ley en venezuela mmmmm aqui no hay esas leyes seguro tu vives en un pais desarrollado donde obligan a cumplir leyes aqui en venezuela el mismo presidente es tremendo corrupto...

gracias por tu analisis me gusto mucho delphius aunque no es codigo de delphi me sirve esa forma de pensar ;)

lKinGl
18-09-2008, 04:13:47
muchas gracias coso por el codigo y pues el sistema que yo mismo diseñe no tengo problemas con lo basico pero no tenia idea de como hacer la rotacion de choferes era solo eso

con ideas logicas que uds me dieran ya es bastante :D

es el unico problema que vi al diseñar el analisis del sistema

lKinGl
18-09-2008, 04:20:41
pues creo que lo mejor que puedo hacer es comprender bien bien el proceso de rotacion de choferes, por que en ese departamento semanalmente imprimen el cronograma para que los choferes sepan donde tienen que ir

mejor analizaré junto con mi tutor como será el proceso de rotacion de choferes (algo que sea mas logico y entendible) jeje

de todas maneras amigo delphius gracias por tu analisis
y amigo coso gracias por enseñarme el codigo de unos arrays :)

luego volveré a postear como decidimos hacer el proceso de rotacionde los conductores

Delphius
18-09-2008, 04:45:39
Es muy correcto tu analisis amigo delphius pues les pregunto el primer dia por que no se me habia presentado algun problema como ese

y no tenia idea de como se trataba otra cosa...

aqui es legal pedir ayuda estoy en este pais de mierda no se respeta nada (venezuela), pues en mi universidad no me enseñaron delphi, conoci y aprendi cositas de delphi siguiendo tutoriales y cosas asi

el hacer un software en delphi es idea mia, pido ayuda a ustedes por que son los que saben de delphi en mi institucion no saben delphi asi que quedo aislado de los profesores.

yo elegi a un tutor por que me gusta como analiza las cosas de una forma muy critica, con mucha logica mejor dicho, pero no tiene conocimiento alguno de delphi...

jaja y yo las consultas a clubdelphi las hago desde mi casa por que en la empresa que las estoy haciendo la conex de internet no es nada rapida..

y pues no se arrays por que nunca me han gustado en nignun tipo de programacion me los enseñaron en mi universidad en lenguajes como turbo pascal, foxpro 2.0, visual basic 4

y nunca sali bien en esos examenes, debe ser porque nunca los vi necesarios


y con respecto a violar una ley en venezuela mmmmm aqui no hay esas leyes seguro tu vives en un pais desarrollado donde obligan a cumplir leyes aqui en venezuela el mismo presidente es tremendo corrupto...

gracias por tu analisis me gusto mucho delphius aunque no es codigo de delphi me sirve esa forma de pensar ;)
¿Consideraste que no es necesario aprender Pascal?:eek: ¿Y de donde crees que nace Delphi? Es nieto de éste.

Aprender Arrays es el tipo/estructura de dato más elemental para poder comprender la estructuras abstractas. De hecho, lo que se suele enseñar primero sobre estructuras abstractas es implementar pilas, colas, listas con arrays, es decir estáticos. Luego se prosigue con los dinámicos.
Estos conceptos abstractos son la piedra angular de muchos de los conceptos que luego se emplean en los sistemas, de hecho... estas estructuras "evolucionaron" y se han llevado a nuevos enfoques, a nuevos paradigmas.

lKinGl, ¡negar aprender arrays es negar los principios más elementales de la programación!:eek:

Al menos asi lo veo yo.

No estoy en un país desarrollado. Estoy unos kilómetros abajo del tuyo. Soy Argentino, no tenemos una ley fuerte pero en los ultimos meses se están poniendo las pilas... o al menos eso disimulan:p:D.
Que algunos violen la ley es una cosa, pero por algo está. Mejor seguirla que tenerla de enemiga.
Además, eso hace parte al profesional; cátedras como ser ética y moral profesional, legislación informática y legal son importantes... no están de adornos.

Las leyes hay que cumplirlas, o al menos hacer un esfuerzo por cumplirlas.

¿Estás seguro de que puedes consultar a otros? Cuando uno pone la firma, está diciendo que acepta las condiciones allí establecidas. Si en tu contrato de pasantía hay una cláusula de confidencialidad y expones información que pueda comprometer a la empresa, a la facultad, y/o a tu persona estás viciando el acto y la otra parte está en su derecho de reclamar acciones legales como así lo estipula las leyes civiles dictadas y celebradas por el senado representate de tu pais.

Al menos en mis contratos se añadía la cláusula de no divulgar información ya que podría perjudicar el accionar de la empresa frente a la competencia.

En mi primera pasantía, para lo que fue mi trabajo, no era tan preocupante el asunto... pero en la segunda... ¡hay mamita, si que pelaban las papas si mi bocota decía algo! (Todavía no me repongo de la magnitud de la responsabilidad de esas decisiones)

muchas gracias coso por el codigo y pues el sistema que yo mismo diseñe no tengo problemas con lo basico pero no tenia idea de como hacer la rotacion de choferes era solo eso

con ideas logicas que uds me dieran ya es bastante :D

es el unico problema que vi al diseñar el analisis del sistema
Bueno, la cuestión es como te hemos dicho... Hay que hacer análisis (esto es todo un arte)... y si realmente puedes consultarlo al tema en forma más o menos pública aqui estaremos para asesorarte.
Lo mejor es que nos vayas informando de tus dudas en la medida en que avances.

EDITO:
Una preguntita, de curioso... ¿Que es T.Su? ¿Que título es ése?:confused:

Saludos,

lKinGl
18-09-2008, 04:50:43
te entiendo delphius pero ni si quiera me dieron a firmar nada solo me dijeron son, 8 semanas de pasantias anda a X empresa y soluciona un problema ... eso es todo no me han dado nada para firmar :S

jaja te das cuenta como es venezuela?

a ti te obligan a firmar contratos, a mi me dicen anda y soluciona cumple 8 semanas y regresas con un informe de pasantias

pero lo que me dices es muy cierto, total el cambio comienza por uno mismo :)

Delphius
18-09-2008, 05:09:52
te entiendo delphius pero ni si quiera me dieron a firmar nada solo me dijeron son, 8 semanas de pasantias anda a X empresa y soluciona un problema ... eso es todo no me han dado nada para firmar :S

jaja te das cuenta como es venezuela?

a ti te obligan a firmar contratos, a mi me dicen anda y soluciona cumple 8 semanas y regresas con un informe de pasantias

pero lo que me dices es muy cierto, total el cambio comienza por uno mismo :)
¡Ocho semanas!:eek: ¿Es tu primer pasantía? Mi primer pasantía (la obligatoria para optar por el el pre-título) fue de 4 semanas. No era paga:mad:, pero se aprendió algo.

No quisiera criticar mucho a Venezuela, no sin conocer más su sistema educativo.
Vaya, en mi caso debía presentar dos informes: uno a la mitad y otro al finalizar. Además, el tutor que representaba a la facultad controlaba mi trabajo en el lugar. Yo disponía de dos tutores: uno por parte de la facultad y otro por parte de la empresa. Ambos controlaban y asesoraban mi trabajo e indicaban si aprobaba o no.
Cada estudiante elije donde la realiza, se le da la opción incluso de proponer la empresa (en este caso las autoridades analizaban si era viable y no había conflictos de intereses).

Saludos,

lKinGl
02-10-2008, 15:42:04
Hola de nuevo, quisiera informarles que ya llegué a la parte del software donde realizo este proceso y pues luego de estudiarlo bastante pude llegar a un resultado donde un chofer no colisione en las 4 semanas del mes y tampoco colisione con los sitios visitados

solo colisiona el chofer 21 en la semana 3 con la semana 4 que tienen que hacer viajes largos, pero buehhh fue lo mejor que pude hacer y creo que es la distribución mas justa :D para todos los choferes (los choferes se matan por ahcer viajes largos debido a la gran cantidad de viáticos pagados ).....

lKinGl
02-10-2008, 15:52:10
Imagen del Análisis:
http://img100.imageshack.us/my.php?image=rotacinrf0.jpg


ahh delphius T.Su en informática significa Técnico Superior en Informática :D

ya llevo 3 semanas de pasantias jojojojo

lKinGl
02-10-2008, 15:58:04
Ahora veo otro inconveniente, es que al momento de registrar otro chofer :S

se descuadra toda la rotación :S

eduarcol
02-10-2008, 16:17:21
Holas, creo que llevas un problemita en el diseño, pero parte de la necesidad de mas información por parte de la empresa. Por lo general estas llevan ese proceso manual, sientate con las personas que lo hacen en estas tres semanas que llevas las hubieras aprovechado a diseñar la información.

¿Por cierto y el tutor empresarial?, esta persona es la que debe mas que evaluarte orientarte, ¿en que instituto estudiastes?

lKinGl
02-10-2008, 16:27:44
hola eduarcol en estas 3 semanas que llevo primero que nada me pusieron, la primera semana evaluar la necesidad de el departamento y ver mas o menos como se podia automatizar, la segunda semana hacerle mantenimiento a un grupito de 70 Computadoras (Respaldo, Formateo, Configuración,Impresora, Instalación del paquete básico, y su información de nuevo en su pc)... y ahora estoy programando el análisis que hice la primera semana, me pusieron a hacer mantenimiento a las otras pc en la segunda semana porque no tenia pc asignada para programar y para quedarme sin hacer nada eligieron lo antes mencionado...

salu2

¿ahh dime cual es el problema de diseño ?

eduarcol
02-10-2008, 16:41:26
hola eduarcol en estas 3 semanas que llevo primero que nada me pusieron, la primera semana evaluar la necesidad de el departamento y ver mas o menos como se podia automatizar, la segunda semana hacerle mantenimiento a un grupito de 70 Computadoras (Respaldo, Formateo, Configuración,Impresora, Instalación del paquete básico, y su información de nuevo en su pc)... y ahora estoy programando el análisis que hice la primera semana, me pusieron a hacer mantenimiento a las otras pc en la segunda semana porque no tenia pc asignada para programar y para quedarme sin hacer nada eligieron lo antes mencionado...

salu2

¿ahh dime cual es el problema de diseño ?


ojo, no te estoy atacando, solo quise decir que hay falta de información y esto lleva a que no puedas realizar el diseño como debe ser, es obvio que si apenas estas entrando en una empresa y no conoces el proceso estes un poco perdido, ahora lo que te recomendaria es que te sentaras con la persona que hace estas asignaciones y te explique de primera mano como lo hace y que espera del sistema asi no estaras lanzando piedras a la luna.

Recuerda que los jefes no siempre conocen los procesos a fondo

lKinGl
02-10-2008, 17:12:32
ahh ok, bueno en la primera semana el me mostro como lleva esta rotación y lo que tiene es una lista en excel con los nombres de todos los choferes seguido de xcantidad de cuadros para usarlos como checkbox pero el lo marcaba a lapiz, y ver que chofer ya fue para el vigia, que chofer ya fue para x sitio y asignaba al que viera que no habia ido a sitio Y

en pocas palabras las asignaciones las hace a dedo

y lo que esperan del sistema que yo haga es que con solo presionar un boton que diga semana1 le salga la programacion de la 1 semana del mes (porsupuesto rotando los nombres del chofer) ejemplo: el que en la semana 1 se llama chofer1 en semana 2 va a ser chofer2 y asi con el resto de choferes

otra de las cosas que esperan es hacer el cálculo de los viáticos por viajes largos, cortos y eventualidades que como la empresa es una universidad estos viáticos son demasiado frecuentes (al rededor de entre 5 y 15 viáticos a diario) el cual tenian que llenar al rededor de 30 campos a mano, para hacer correctamente el viático, despues que lo inclui en el sistema con solo intgresar 4 datos y seleccionar 2 se hace el viático completo....

aparte de eso, quieren tener un modulo para poder registrar las eventualidades (Viajes largos, cortos, eventualidades) con los choferes que esten desocupados...

aparte de eso, quieren poder realizar pago a los choferes con su respectivo reporte....

y otro módulo para verificar la disponibilidad de vehiculos y choferes.....

aparte de los reportes...que desean ver las actividades programadas para el mes actual y ver los pagos a choferes realizados .....

y creo que se me escapan varias cositas mas :(

eduarcol
02-10-2008, 18:03:12
y me imagino que ya les dijistes que en 5 semanas esta complicada la cosa :confused:

Pero lo mas interesante es que te explique como toma esa decision a dedo, debe de haber un proceso oculto detras de eso.

Delphius
02-10-2008, 18:07:32
ahh ok, bueno en la primera semana el me mostro como lleva esta rotación y lo que tiene es una lista en excel con los nombres de todos los choferes seguido de xcantidad de cuadros para usarlos como checkbox pero el lo marcaba a lapiz, y ver que chofer ya fue para el vigia, que chofer ya fue para x sitio y asignaba al que viera que no habia ido a sitio Y

en pocas palabras las asignaciones las hace a dedo

y lo que esperan del sistema que yo haga es que con solo presionar un boton que diga semana1 le salga la programacion de la 1 semana del mes (porsupuesto rotando los nombres del chofer) ejemplo: el que en la semana 1 se llama chofer1 en semana 2 va a ser chofer2 y asi con el resto de choferes

otra de las cosas que esperan es hacer el cálculo de los viáticos por viajes largos, cortos y eventualidades que como la empresa es una universidad estos viáticos son demasiado frecuentes (al rededor de entre 5 y 15 viáticos a diario) el cual tenian que llenar al rededor de 30 campos a mano, para hacer correctamente el viático, despues que lo inclui en el sistema con solo intgresar 4 datos y seleccionar 2 se hace el viático completo....

aparte de eso, quieren tener un modulo para poder registrar las eventualidades (Viajes largos, cortos, eventualidades) con los choferes que esten desocupados...

aparte de eso, quieren poder realizar pago a los choferes con su respectivo reporte....

y otro módulo para verificar la disponibilidad de vehiculos y choferes.....

aparte de los reportes...que desean ver las actividades programadas para el mes actual y ver los pagos a choferes realizados .....

y creo que se me escapan varias cositas mas :(
Hola lKinGl,
Por lo que comentas a me suena a que el proceso de asignación no es tan cíciclo como parece. Al ser una cuestión puramente manual deberías pasar unos días comprendiendo en cómo consigue tu "jefe" armonizar todo.

Al igual que Eduardo considero que es mejor que te acerques a dicha persona y busques descubrir su método. Es la única forma de comprender esos cabos sueltos.

Como das a entender que hay viajes cortos y otros largos... eso me da la intuición de que la manera de asignación no pasa por una cuestión cíclica sino de cumplir con, tal vez, cierta cantidad de kilómetros.
No termino de comprender la tabla que muestras, me marea un poco. Disculpa.

Algo me inclina a pensar que no se trata de un proceso cíclico. Y esto lo va hacer difícil. No creo que se pueda automatizar todo, tal vez una parte si sea posible.
El asunto es como dices, que sea justo para los choferes, y bueno... eso aporta otra pista más aún para saber que hay cabos sueltos.

Muy fundamental que aprendas y te empapes del proceso. Es preferible que destines unos días para analizarlo objetivamente con tu tutor y tu "jefe".
No te desiluciones si no todo el proceso se logra automatizar.

Ya sabes, aqui estaremos.

Saludos,

lKinGl
02-10-2008, 20:14:04
de verdad es algo muy complicado de entender, por que el listado que mi tutor empresarial tiene es que va tachando los que ya cumplieron con rutas diarias semanales, los que ya cumplieron viajes cortos, y el que le vaya faltando una x a ese es el que le va tocando segun el,

Al ser una cuestión puramente manual deberías pasar unos días comprendiendo en cómo consigue tu "jefe" armonizar todo.


Pero no creas delphius que tiene a todos los choferes contentos, lo que pasa es que como es el jefe se la tienen que aguantar jejeje

pero el esta de acuerdo conmigo en que debe haber un procedimiento a seguir para la elaboracion semanal de la rotacion de choferes y ese es el archivo de excel que les envié para que vieran por foto

ahora yo pienso que si en la tabla, agrego un campo llamado código, que sea de tipo integer podria hacer un procedimiento o un condicional no se como... que cuando consiga el código 1 lo transforme a 2 y el nombre que habia en 1 lo pase para chofer2 y el de chofer 2 lo pase pàra chofer 3 y asi sucesivamente :D

no se si tienen mejor idea

ahhhh se me habia olvidado comentarles, no se maten buscandole sentido a la foto de excel que les envié, por que es dificil encontrarcerlo, pero les diré el sentido que tiene:

chofer1 no va nunca al mismo sitio durante el mes.

todos los choferes tienen que ser chofer 1 y chofer...n y cumplir con las asignaciones que antes les presenté en la foto de excel

ahora el único problemita que veo es que si registran un nuevo chofer hay si es verdad que se descuadra todo :S

pero como ya les dije el sentido de la programación a lo mejor me ayudan a buscar una solución a esto :D

Delphius
02-10-2008, 20:57:53
El problema (uno de ellos mejor dicho) lKinGl, como bien lo has descubierto, es que se rompe el esquema cuando se altere ya sea la cantidad de choferes como de sitios.

El asunto está en encontrar alguna manera de estructurar estas asignaciones de forma independiente de la cantidad. Es decir, establecer un modelo (tal vez matemático) que permita realizar todas estas asignaciones para M choferes y N sitios.

Inicialmente tenía pensado que tal modelo podría ser fácil de encontrar, ahora me temo que no es tan sencillo.

Al ser un proceso manual no es muy fácil verlo, y eso complica a que se pueda desarrollar algun procedimiento automático que pueda satisfacer al 100% los requisitos.

¿Porqué digo que encontrar un modelo matemático es difícil? Porque no hay una proporción tan lineal entre choferes y sitios. No es el "mismo" procedimiento a seguir cuando en un escenario se tienen 20 choferes y 10 sitios, que de otro escenario con 30 choferes y 10 sitios.

El asunto de como estructurar las tablas tampoco será fácil. Por empezar, lo que comentas sobre el código que se autoincremente... no lo entiendo. Creo que estás un tanto mariado. ¿Desde cuando un código asociado a un chofer se incrementa?:confused: ¿Qué haz querido decir?

Digo que no será fácil puesto que entre las hipotéticas tablas CHOFERES y SITIOS muy posiblemente no exista una sola tabla "intermedia". Si lo que se busca es armar planes de rutas semanalmente habrá que estructurar la información de modo tal que se consiga armar los reportes adecuadamente.

Este diseño puede alterar la manera de como lleves a cabo la programación del sistema. Deberás poner en la balanza ambas cosas, por un lado desde la perspectiva del sistema software y por el otro el diseño de las tablas que forman la base de datos.

Saludos,

lKinGl
02-10-2008, 21:14:58
pues no es que este mariado sino que a lo mejor no me explique bien

1) tener un codigo (integer) un nombre de chofer y demas datos de sitios
2) lo único que cambiara es el código y el nombre de chofer
3) tengo que tener tabla original de los choferes y una temporal
4) Realizar un procedimiento que sea mas o menos asi:

semana 1:

1=Chofer1
2=Chofer2
3=chofer3
4=Chofer4

semana 2:

1= Chofer2
2= Chofer3
3=Chofer4
4=Chofer1

semana 3:

1=Chofer3
2=Chofer4
3=Chofer1
4=Chofer2

semana 4:
1=chofer4
2=chofer1
3=chofer2
4=chofer3

y asi sucesivamente para las 52 semanas del año :D

y asi con todos los demás choferes...no se si estoy mariado jajaja de verdad es un proceso algo engorroso

Lepe
02-10-2008, 22:33:42
No he leído todo en profundidad, pero más o menos veo cómo va la cosa.

El tema de asignación y rotaciones, hazlo simple y rápido, porque se vendrá abajo en el primer día de trabajo, por ejemplo, se pone malo un chófer, averías en el camión, etc. Detalles de este tipo harán imposible cualquier automatización.

Entonces, para que queden contentos, lo que debes automatizar es el proceso contrario, es decir, que cuando vaya a cambiar un chófer, salga una lista sólo con los chóferes disponibles, pero que permita elejir otro distinto. Se trata de no ponerle trabas a tu cliente en su trabajo diario; un mensaje del tipo: "este chófer no se puede elegir porque le toca la semana de descanso obligada". A mi entender, jamás debes ponerlo.

Cuando va a elejir a un conductor, ponle un mensaje al lado con la información que le cuesta tener en mente, por ejemplo: "Este chófer tiene acumulado 8 días de descanso". Al ordenador le cuesta poco sumar, restar fechas y obtener el cálculo, para tí será fácil programarlo, pero tu cliente no puede llevar en mente los días que le pertenecen a los 30 chóferes.

Saludos