Welche Art von Algorithmus ist das, ich weiß so ziemlich nichts, aber das ist, was ich im Code zu tun versuche ... Ich habe Klasse 'Element', Eigenschaften int A
und int B
- Ich habe mehrere Listen von List<Item>
mit einem zufällige Menge von Item
in jeder Liste, incisentent mit jeder anderen Liste. Ich muss 1 Punkt aus jeder Liste wählen, um den höchstmöglichen Wert der Summe Item.A
zu erhalten, während ich gleichzeitig festlege, dass die Summe Item.B
auch mindestens eine bestimmte Zahl sein muss. In Zukunft könnte auch eine andere Eigenschaft Item.C
entsprechen, dass die Summe einer bestimmten Zahl entsprechen muss. Ich habe keine Ahnung, wie man schreibt diese :(Welche Art von Algorithmus ist das?
So ist es auf diese Weise zu setzen;
class Item
int A
int B
int C
Ich habe ein 10-fach verschiedene List<Item>
jeweils mit einer beliebigen Anzahl von Artikeln innerhalb
Wir müssen finden die genau die beste Kombination
a) Highest sum of Item.A
b) Constraint that the sum of Item.B must be higher than X
c) Constraint that the sum of Item.C must be equal to X
ich habe keine Ahnung zu haben, wie dies zu codieren schnell und effizient zu sein. :(
Lineare Programmierung. – AakashM
(auf den Kommentar geantwortet) –
Für mich sieht das wie binäre Programmierung, die NP schwer ist. Besonders mit der Gleichheitsbedingung für Item.C wird es schwierig sein. Hast du mehr Struktur? – stephan