Laden...
A
Alf Ator
myCSharp.de - Member
27
Themen
780
Beiträge
Letzte Aktivität
gestern
Dabei seit
30.10.2007
Erstellt gestern

Hallo Community

Aktuell arbeite ich an einer Ressourcen-Planung, bei der ich an einem Problem mit exponentiellem Rechenaufwand zu knabbern habe.

Es geht darum n Batches mit Tasks auf m Resourcen aufzuteilen. Die Tasks haben einen Start-Zeitpunkt und eine Duration und dürfen sich nicht überschneiden. Die Tasks pro Batch folgen zeitlich aufeinander und haben eine feste Reihenfolge.

Kennt jemand einen Algorithmus, der sich darauf anwenden lässt? Lässt sich der Aufwand für dieses Problem überhaupt reduzieren? Ich habe leider noch nichts passendes gefunden.

Task
- Start
- Duration
- End

Batch
- Tasks
        
Resource
- Tasks

Beim Einsortieren der Tasks auf die Ressourcen entstehen zwischen drin immer wieder Lücken, diese möchte ich nutzen um das Ergebnis zu optimieren.

foreach batch in batches
    foreach batchTask in batch
        foreach resourceTask in resource
            if batchTask.Start > resourceTask.End && batch.End < nextResourceTask.Start
                resource.Insert(behind resourceTask)

Im Pseudocode sieht man gut, wie sich der Aufwand exponentiell erhöht.

Hier ein kleines Beispiel für die bessere Vorstellbarkeit:

[Batch 1]
- Anton (Resource A) füllt einen Eimer mit Farbe (2 min) und bring in zu Bernd (Resource B)
- B nimmt diesen Eimer und streicht damit eine Wand (25 min)
- A wäscht den benutzen Eimer (4 min)

[Batch 2]
- Anton bringt ein Kabel und Nagel-Schellen (1 min) zu Carlos (Resource C)
- C verlegt das Kabel (35 min)

[Batch 3]
- Anton belädt den Bauaufzug mit Ziegeln und lässt sie nach oben fahren (15 min)
- Daniel (Resource D) deckt damit das Dach (55 min)

Es sollen 18 Wände gestrichen und 12 Kabel verlegt werden. Das Dach braucht 7 Fuhren um gedeckt zu werden.

Gruss
Alf

Erstellt vor 2 Tagen

Alternativ könnte man auch ein TabControl benutzen. Aber probier den Link von Th69 auf jeden Fall aus.

Erstellt vor 3 Tagen

Hallo bizwormsunterayri

Wir helfen euch hier gerne. Posted einfach eure konkreten Probleme hier im Forum.

Schaut euch dafür auch: https://mycsharp.de/forum/threads/26594/hinweis-wie-poste-ich-richtig an.

Versucht eure Probleme möglichst konkret zu beschreiben und packt auch euren Code dazu.

Zitat von bizwormsunterayri

zB beim Coden eines Würfels ...

public int RollDice() => Random.Shared.Next(1, 6);

Zitat von bizwormsunterayri

... einer Auswahl der Figuren nach den Farben (Gelb,grün,blau,rot)

Wie ist das gemeint?

Gruss
Alf

Erstellt vor 5 Tagen

Hallo Salman

Ich vermute, dass die Methode NextLevel nicht aufgerufen wird. Den Code für den diesen Aufruf zeigst du leider nicht.
Hast du dich denn mal mit dem Debugger drangehängt? Dann müsste man das doch easy sehen.

Gruss
Alf

Erstellt vor 8 Tagen

Verstehe ich nicht, da wird doch nach mehreren Spalten sortiert:

"You can always add to multiple SortDescriptor to the SortCollection of your default view like this -"

ListCollectionView lcv = (ListCollectionView)CollectionViewSource.GetDefaultView(myCollection);
lcv.SortDescriptions.Add(new SortDescription(…));

"I don't know how to write it in VB, but i can show you in c# how it's made:"

YourListView = CollectionViewSource.GetDefaultView(tempListView
.OrderBy(x => x.FirstSorting)
.ThenBy(y => y.SecondSorting));

Machst du MVVM?

Erstellt vor 10 Tagen

Hallo lutzeslife

Man kann doch mit CollectionViewSource nach mehreren Spalten sortieren. Siehe hier: https://stackoverflow.com/questions/8104015/how-to-implement-multiple-levels-of-sorting-on-a-collectionviewsource

Hast du das schon ausprobiert?

Gruß
Alf

Erstellt vor 2 Monaten

Top, danke dir.

Bei mir hat Resharper noch mit rein gespielt. Dort kann man auch zusätzliche Dictionaries anlegen. Ich habe das aber nicht weiter verfolgt.

Erstellt vor 2 Monaten

Stimmt, danke.

Ich muss meine Beschreibung korrigieren und das Problem besser erklären:

  • Ich habe fälschlicherweise Warning geschrieben, aber Message gemeint.
  • "Typo in string" wird im tool tip angezeigt.
  • Wörter die nicht in meinem 'custom dictionary' vorkommen, sollen nach wie vor als Message angezeigt und blau unterkringelt werden. Deswegen hilft severity an der Stelle leider nicht.
Erstellt vor 2 Monaten

Hallo zusammen

Wie im angehängten Screenshot zu sehen, zeigt Visual Studio (2022) Warnings für Wörter an, die er nicht kennt. Mit exclusion.dic und .editorconfig kann man solche Wörter aus den Warnings raus nehmen (siehe erstes Wort). Allerdings wird für da excluded word immer noch blau unterkringelt und "Typo in string" angezeigt. Kennt jemand eine Lösung dafür?
Meine Idee wäre es ein zusätzliches spelling dictionary zu benutzen, dass meine Wörter enthält. Ich habe aber keine Möglichkeit gefunden ein eigenes custom spelling dictionary in die Solution einzubinden. Weiss jemand, ob und wie das geht?

Vielen Dank für eure Unterstützung schon mal.

Erstellt vor 3 Monaten

Hallo tombadil28

Erstmal offtopic: Bitte verwende Code-Tags für dein Listing. Siehe auch: [Hinweis] Wie poste ich richtig?

Zum Thema:

In der Doku zum QuickGrid steht, welchen Typ Items erwartet: IQueryable<TGridItem>. Wenn du also private IQueryable<Match> matches; verwendest, sollte der Fehler behoben sein

Siehe hier: https://learn.microsoft.com/de-de/aspnet/core/blazor/components/quickgrid?view=aspnetcore-8.0&tabs=visual-studio

Gruss
Alf