Q-CTRL-Optimierungslöser von Global Data – Referenz zur Quantum-API
Qiskit Functions — von Partnerorganisationen entwickelte vorgefertigte Tools — abstrahieren Teile des Softwareentwicklungs-Workflows, um die Erforschung von Algorithmen und die Anwendungsentwicklung im großen Maßstab zu vereinfachen und zu beschleunigen. Klicken Sie hier, um die Anleitung zu dieser Qiskit-Funktion anzuzeigen.
Optimierungs-Solver: Leitfaden zu den Qiskit-Funktionen
Eingaben
problem
Typ: str or SparsePauliOp
Standardwert: None
Eine der Darstellungen, die unter „Akzeptierte Problemformate“ aufgeführt sind.
- Erforderlich: Ja
- Beispiel:
Poly(2.0*n[0]*n[1] + 2.0*n[0]*n[2] - 3.13520241298341*n[0] + 2.0*n[1]*n[2] - 3.14469748506794*n[1] - 3.18897660121566*n[2] + 6.0, n[0], n[1], n[2], domain='RR')
problem_type
Typ: str
Standardwert: None
Name der Problemklasse; wird nur für die Definition von Graphen- und Spin-Ketten-Problemen verwendet, die auf "maxcut" oder beschränkt "spin_chain" sind; für die Definition von Problemen mit beliebigen Zielfunktionen nicht erforderlich.
- Erforderlich: Nein
- Beispiel:
"maxcut"
backend_name
Typ: str
Standardwert: Least busy backend
Name des zu verwendenden Backends.
- Erforderlich: Nein
- Beispiel:
"ibm_fez"
constraint
Typ: dict[tuple, int]
Standardwert: None
Optionale Hamming-Gewichts-Einschränkungen für die Problemvariablen. Jede Nebenbedingung legt eine Gruppe von Variablen fest, deren Summe genau 1 ergeben muss (das heißt, genau eine Variable in der Gruppe ist 1 und die übrigen sind 0). Wird dies nicht angegeben, behandelt der Solver das Problem als uneingeschränkt und durchsucht alle möglichen Bitfolgen. Sie müssen nicht jede Variable beschränken – Variablen, die nicht berücksichtigt werden, bleiben constraint unbeschränkt, sodass auch teilweise beschränkte Probleme unterstützt werden. Schlüssel sind Tupel aus variablen Indizes oder – bei Verwendung einer polynomischen problem Eingabe – aus Variablennamen.
- Erforderlich: Nein
- Beispiel:
{("n[0,0]", "n[0,1]", "n[0,2]"): 1}
Optionen
Typ: dict
Standardwert: None
Eingabemöglichkeiten, darunter die folgenden: (Optional) session_id: str; standardmäßig wird eine neue Sitzung erstellt. Optionen werden als verschachteltes Wörterbuch angegeben. Hier finden Sie die vollständige Liste der Optionen und ihrer Standardwerte.
- Erforderlich: Nein
- Beispiel:
{"session_id": "cw2q70c79ws0008z6g4g"}
Optionsliste
session_id
Typ: str
Standardwert: None
Eine vorhandene Sitzungs-ID des „ IBM Quantum Compute Service“.
- Standardwert:
None - Beispiel:
"cw4r3je6f0t010870y3g"
job_tags
Typ: list[str]
Standardwert: None
Eine Liste von Job-Tags.
- Standardwert:
None - Beispiel:
["job_tag1", "job_tag2"]
Ausgaben
result
Typ: dict[str, Any]
Lösung und Metadaten sind unter „Inhalt des Ergebniswörterbuchs“ aufgeführt.
Beispiel: {'solution_bitstring_cost': 3.0, final_bitstring_distribution: {000001: 100, 000011: 2}, iteration_count: 3, 'solution_bitstring': 000001, 'variables_to_bitstring_index_map': {n[1]': 5, 'n[2]': 4, 'n[3]': 3, 'n[4]': 2, 'n[5]': 1}, 'best_parameters': [0.19628831763697097, -1.047052334523102], 'warnings': []}
Inhalt des Ergebniswörterbuchs
solution_bitstring_cost
Typ: float
Der niedrigste Gesamtwert über alle Iterationen hinweg.
final_bitstring_distribution
Typ: CountsDict
Das Bitstring-Zählverzeichnis, das den Mindestkosten zugeordnet ist.
solution_bitstring
Typ: str
Bitstring mit den besten Kosten in der endgültigen Verteilung.
iteration_count
Typ: int
Die Gesamtzahl der vom Solver durchgeführten QAOA-Iterationen.
variables_to_bitstring_index_map
Typ: float
Die Zuordnung der Variablen zu dem entsprechenden Bit in der Bitfolge.
best_parameters
Typ: list[float]
Die über alle Iterationen optimierten Beta- und Gamma-Parameter.
warnings
Typ: list[str]
Standardwert: None
Die Warnmeldungen, die beim Kompilieren oder Ausführen von QAOA ausgegeben werden.