Ich versuche Differential Evolution zu verwenden, um die Verfügbarkeit basierend auf Kosten zu optimieren. Allerdings habe ich drei unbekannte Parameter (a, b, c) hier und ich kann den Bereich mit Grenzen definieren. Allerdings möchte ich zusätzliche Einschränkung als + b + c < = 10000 definieren. Ich benutze Python, um dies zu tun, und ich habe versucht, eine Option "Args" innerhalb Differential Evolution, aber es hat nicht funktioniert. Jede Information wird geschätzt.Constraints auf Parameter mit Differential Evolution in Python
1
A
Antwort
0
Definition der Einschränkung Evolution mit Differential ist keine geeignete Lösung für das Problem, das ich oben beschrieben habe. Zu diesem Zweck können wir den Nminimize-Befehl verwenden, der eine spezielle Option zum Definieren von Beschränkungen aufweist.
scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None, hessp=None, bounds=None, constraints=(), tol=None, callback=None, options=None)
2
Hier ist ein Hack. Früher habe ich das letzte Beispiel aus dem documentation und gezwungen, die Summe (x)> 4.1 (ohne diese Einschränkung die optimierte Lösung (0,0)):
from scipy.optimize import differential_evolution
import numpy as np
def ackley(x):
arg1 = -0.2 * np.sqrt(0.5 * (x[0] ** 2 + x[1] ** 2))
arg2 = 0.5 * (np.cos(2. * np.pi * x[0]) + np.cos(2. * np.pi * x[1]))
if x[0]+x[1] > 4.1: #this is the constraint, where you would say a+b+c <=1000
return -20. * np.exp(arg1) - np.exp(arg2) + 20. + np.e
else:
return 1000 #some high value
bounds = [(-5, 5), (-5, 5)]
result = differential_evolution(ackley, bounds)
result.x, result.fun
+0
Vielen Dank für das Teilen. Ich musste aufgrund der Komplexität meines Optimierungsproblems eine andere Optimierung verwenden. –
Verwandte Themen
- 1. Scipy, differential evolution
- 2. Reclaim Raum in Differential VHD
- 3. SQL complexe Queryget Differential
- 4. Eine Evolution zurückrollen
- 5. Wie mit PHP Frameworks Evolution Schritt halten?
- 6. Datenbank-Backup - Differential Dateigröße Frage
- 7. besten mit Parametern definieren Constraints
- 8. Langsam AAD Differential-Abfrage für
- 9. TSQL Constraints auf temporären Tabellen
- 10. Constraints Programmierung in Java
- 11. Benutzerdefinierte Benutzerfelder in MODx Evolution 1.0- OnWUsrFormRender
- 12. Swift Constraints in Unterklasse
- 13. Constraints in Route
- 14. Storyboard Constraints in iOS
- 15. NSLabel Autoshrink mit Top-Constraints
- 16. Soft-Constraints in Gurobi
- 17. gpsd daemon differential-gps bekommen Überschrift
- 18. Mit Constraints in Interface Builder arbeiten
- 19. Was der praktische Unterschied zwischen Fhir Snapshot und Differential
- 20. Constraints in Code mit swift - nicht aktivierbar
- 21. Visual Constraints mit versteckten Ansichten
- 22. Matlab - Implict und Explict Euler-Methode auf linearen Differential Eqn
- 23. vivado Constraints Probleme mit vhdl
- 24. UITableViewCell Constraints
- 25. Dropbox Differential/inkrementelle Uploads REST-API
- 26. Constraints mit Facebook Pop animieren?
- 27. Spielen Evolution nicht laden 1.sql
- 28. ViewController Constraints in UIScrollView, mit Storyboard
- 29. Form Validation Constraints mit Unterobjekten in Play
- 30. Autolayout Constraints Update mit Größenklassen
Können Sie bitte ein Codebeispiel bereitstellen. –
def ahs_Ca(): für BUDG in range (7000000,100000000,10000000): xaxis.append (Haushalt) f = (0, BUDG) Grenzen = [f] * Komponente resultEta differential_evolution = (eta, Schranken , maxiter = 4000) Dies ist der Beispielcode mit Begrenzungen. Ich muss hier einige Einschränkungen definieren. Ich hoffe, diese Information ist hilfreich. –