Thema Datum  Von Nutzer Rating
Antwort
Rot Rucksackproblem
05.10.2020 17:55:46 Peter Schmidt
Solved
05.10.2020 18:45:27 Gast21356
Solved
06.10.2020 11:10:50 Gast30754
NotSolved
06.10.2020 11:41:03 Gast21356
NotSolved

Ansicht des Beitrags:
Von:
Peter Schmidt
Datum:
05.10.2020 17:55:46
Views:
809
Rating: Antwort:
 Nein
Thema:
Rucksackproblem

Hallo,

ich muss ein etwas erweitertes multidimensionales Rucksackproblem in VBA lösen, sprich eines mit 2 Schranken ( z.B. Gewicht und Volumen). Wie programmiere ich das, das eindimensionale war kein Problem, hier ein kleiner Ausschnitt davon.

Sub Schaltfläche1_Klicken()
Dim limit As Double, weight As Double, value As Double, totalWeight As Double, maximumValue As Double
Dim j, k, l, m As Integer
If Range("E23") <= Range("E17") Then

    Range("E25").value = " "
    limit = Range("S17").value
    maximumValue = 0
        For j = 2 To Range("G17")
            For k = 2 To Range("I17")
                For l = 0 To Range("Q17")
                    For m = 0 To Range("U23")
    weight = 1 * (Range("E17") - Range("E23")) + 1 * j + 1 * k + 1 * l + 1 * m
    value = Range("E9") * (Range("E17") - Range("E23")) + Range("G9") * j + Range("I9") * k + Range("Q9") * l + Range("S9") * m
    
    If value > maximumValue And value <= Range("Y23") And weight = limit Then
    
        Range("G29").value = j
        Range("I29").value = k
        Range("Q29").value = l
        Range("U29").value = m
        totalWeight = weight
        maximumValue = value
        
    End If
                    Next m
                Next l
            Next k
        Next j
    Range("E31").value = totalWeight
    Range("E33").value = maximumValue

Else
  Range("E25").value = "mehr als möglich"

End If

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Rucksackproblem
05.10.2020 17:55:46 Peter Schmidt
Solved
05.10.2020 18:45:27 Gast21356
Solved
06.10.2020 11:10:50 Gast30754
NotSolved
06.10.2020 11:41:03 Gast21356
NotSolved