Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]1536[/thread]

Projekt: AZUBI-Einsatz planen: Mir fehlt der logische Ansatz... (Seite 3)

Leser: 2


<< |< 1 2 3 4 >| >> 32 Einträge, 4 Seiten
Crian
 2004-04-30 13:27
#14843 #14843
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Vielleicht könntest Du die Schleifen nicht über die Azubis steuern, sondern über die Abteilungen, und jede versucht, die Azubis irgendwie unterzubringen?! Denn die Reihenfolge der Abteilungen liegt ja eigentlich ungefähr fest.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2004-04-30 13:35
#14844 #14844
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ja, vielleicht gibt es auch eine Priorität unter den Abteilungen.
Ich weiß zwar nicht wie das ist, aber vielleicht gibt Alex uns einen kleinen Blick hinter die Kulissen ;-)

Vielleicht muss an der Rezeption immer 1 Azubi beschäftigt sein, während es am Frühstück "egal" ist, ob da jetzt einer ist oder nicht.
So könnte man dann mit der am höchsten Priorisierten Abteilung anfangen. Diese soll sich die Azubis holen... Dann kommt die nächste Abteilung... usw. Jede Abteilung sollte sich dann erstmal nur die mindest-Anzahl holen, damit die Verteilung möglichst gut ist...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2004-04-30 14:02
#14845 #14845
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
... und dabei darauf achten, die Constraints der Azubis nicht zu verletzen...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Alex
 2004-04-30 14:29
#14846 #14846
User since
2003-12-04
285 Artikel
BenutzerIn
[default_avatar]
Hhmm... ja, da hatte ich auch daran gedacht.
Nur kommt da unter dem Strich nicht das gleiche heraus?
Wenn ich also mit Abteilung_id: 1 anfange, die holt sich jetzt die Liste der Azubis und fängt auch dort wieder mit dem ersten zu überprüfen an und findet evtl. das der gut bei ihr reinpas´st, oder auch nicht -dann ist der nächste an der Reihe. Jetzt ist die Liste der Azubis fertig und Abteilung_id: 2 ist an der Reihe. Die fängt wieder mit dem ersten Azubi in der Liste an, stellt hier evtl. fest das Abteilung 1 den schon hat, und macht mit Azubi zwei weiter. usw. usf. D. h. eine der letzten Abteilungen wird sich den letzten Azubi holen und dort sehr wahrscheinlich die meisten kompromisse eingehen müssen um ihn überhaupt unterzubringen. Das ist wie 3*9 oder 9*3 zu rechnen - es bleibt gleich - oder hier: Den letzten beißen die Hunde.

Ach so, eigentlich haben die Abteillungen untereinander keine Prioritäten, abgesehen von der möglichkeit bei jeder individuell zu definieren ob sie am anfang der Ausbildung stehen darf / soll, den möglicherweise fest definierten Reihenfolgen und der möglicherweise für jeden Azubi individuell zu bestimmenden Abteilung die primär reduziert werden darf.

Aber da fällt mir ein, ich könnte evtl. aus oben Genannten versuchen eine Reihenfolge für jeden Azubi individuell bestimmen. Das würde bedeuten die Schleifen doch über die Azubis zu steuern aber die Abteilungen in der dem Azubi individueller Reihenfolge abzuarbeiten...\n\n

<!--EDIT|Alex|1083320981-->
<center>Schönen Gruß, Alex
Mit dem Computer geht alles viel schneller - es dauert nur ein bißchen länger!
</center>
Crian
 2004-04-30 15:09
#14847 #14847
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Jede Abteilung könnte Bewertungen produzieren, welcher Azubi in welcher Woche wie gut reinpasst...

Das Problem ist, dass das sich alles gegenseitig beeinflusst.

Jede Abteilung könnte in einer zufälligen Reihenfolge über die Azubis gehen, dann ist nicht einer immer bevorteilt.\n\n

<!--EDIT|Crian|1083323434-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2004-04-30 15:30
#14848 #14848
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
was man vielleicht "dazwischenschalten" könnte ist eine Tabelle, in der alle möglichen Azubi-Abteilung-Kombinationen drinstehen. Ohne Zeit und so...

Jedesmal, wenn ein Azubi in eine neue Abteilung kommt, wird diese Kombination gestrichen. Dann arbeitest Du für die Verteilung diejenigen ab, die nur noch in eine Abteilung kommen, dann die mit zwei usw...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2004-04-30 15:47
#14849 #14849
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Ja, interessanter Ansatz. Im Prinzip muss das Programm einen Haufen verschiedener "Stellungen" (=schon zugeordnete Abteilungen / Azubis, noch nicht zugeordnete) durchrechnen, wie ein Schachprogramm, bis die Partie so oder so zu Ende ist und dabei immer bewerten, wie gut das erreichte Ergebnis ist.

Zum Thema Optimierung (und dies ist ein Optimierungsproblem) gibt es schon viele schlaue Algorithmen.

Im Zweifelsfall muss man brutforce Variablen für jeden Azubi für jede Woche einführen, die angibt, in welcher Abteilung er ist. Und dann gibt man dazu die ganzen Constraints an, etwa Abteilung x nicht vor Abteilung y, So und soviele Wochen in der und der Abteilung, dies nicht zu sehr gestückelt, nicht zu viele Azubis gleichzeitig etc.pp.
Das ganze wird noch dadurch verkompliziert, dass die Azubis in unterschiedlichen Wochen anfangen, aber ist machbar.

Dafür, das Leute krank werden können oder verkürzen / verlängern, muss man das System mit einem bis zu diesem Punkt schon ausgearbeiten Plan starten können und den best möglichen Plan unter den veränderten Bedingungen erzeugen.

EIne weitere Frage ist, wie lange im Vorraus weißt Du, welche / wie viele neue Azubis dazu kommen? Ich meine mich zu erinnern, dass das zum Glück nur einmal im Jahr der Fall war, aber das könnte auch Probleme machen.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Ronnie
 2004-04-30 15:52
#14850 #14850
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Ich kenne mich in der Branche nicht aus, aber in wie weit ist es sinnvoll die Lehrinhalte, mit den Inhalten der Berufsschule abzugleichen? In technischen Berufen ist es i.d.R. so das es eine relativ feste Reihenfolge in der Abfolge der Inhalte gibt.
Alex
 2004-04-30 16:13
#14851 #14851
User since
2003-12-04
285 Artikel
BenutzerIn
[default_avatar]
[quote=Ronnie,30.04.2004, 13:52]Ich kenne mich in der Branche nicht aus, aber in wie weit ist es sinnvoll die Lehrinhalte, mit den Inhalten der Berufsschule abzugleichen? In technischen Berufen ist es i.d.R. so das es eine relativ feste Reihenfolge in der Abfolge der Inhalte gibt.[/quote]
Das ist richtig, und ein interessanter Ansatz für eine weitere Version. Ich ignoriere es deshalb, weil es die letzten Jahrzente von keinem Hotel dieser Welt bisher berücksichtigt wurde.

Dieses Programm soll mir zum einen bei der Planung helfen, zum anderen natürlich auch denAzubis zum Vorteil gereichen endlich, wenigstens, annähernd ihre Ausbildung der zeitlichen Gliederung entsprechend zu bekommen. (Dies ist in unserer Branche leider ganz selten der Fall) <- Meine Hauptmotivation mich mit diesem Programm zu beschäftigen. Die Ausbilder tun solche Vorwürfe immer mit: " Mei, der Betrieb hat's halt erfordert..." ab, und ich denke das dies einfach nur faule Ausreden sind weil sich einfach niemand die Zeit nimmt sich dem Problem anzunehmen und es zu lösen.

Langer Rede kurzer Sinn: Trotz der Ignoration des Stoffes der Berufschule ist dieser Ansatz hier schon (für meine Branche sehr unüblich) PRO Azubi.

@Crian:
Was sind denn brutforce Variablen?

Die Idee mit dem zufällig durchmischen hatte ich auch schon. Ist denke ich ein Versuch wert...
<center>Schönen Gruß, Alex
Mit dem Computer geht alles viel schneller - es dauert nur ein bißchen länger!
</center>
renee
 2004-04-30 16:27
#14852 #14852
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
im Prinzip muss das Programm sowieso jede Nacht den aktuellen Plan ausrechnen, damit Krankheit und Urlaub einbezogen werden können.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 3 4 >| >> 32 Einträge, 4 Seiten



View all threads created 2004-04-27 02:18.