Understanding Optimization Results
Learn to interpret results, explanations, convergence metrics, and audit trails.
Result Structure
Every Sematryx optimization returns a rich result object with the solution, performance metrics, explanations, and learning context:
{
"success": true,
"best_solution": [0.35, 0.28, 0.37],
"best_fitness": 847293.50,
"evaluations": 1247,
"duration_seconds": 2.34,
"strategy_used": "cma_es",
"convergence": {
"converged": true,
"iterations": 89,
"improvement_rate": "exponential",
"stagnation_count": 0
},
"explanation": {
"summary": "Optimization converged successfully",
"rationale": "CMA-ES selected for smooth landscape...",
"alternatives_considered": [...],
"audit_id": "aud_7x9k2m..."
},
"learning_context": {
"prior_experience_used": true,
"similar_problems_found": 3,
"speedup_factor": 1.8
},
"constraints_satisfied": true,
"constraint_violations": []
}Accessing Results
Here's how to extract and use the different parts of the result:
from sematryx import optimize
result = optimize(
objective_function=my_function,
bounds=bounds,
explanation_level=3
)
# === Core Results ===
print(f"Success: {result.success}")
print(f"Best solution: {result.solution}")
print(f"Objective value: {result.objective_value}")
# === Performance Metrics ===
print(f"Evaluations: {result.evaluations_used}")
print(f"Duration: {result.duration_seconds}s")
print(f"Strategy: {result.strategy_used}")
# === Explanations ===
print(f"Explanation: {result.explanation}")
if result.explanation_detail:
print(f"Rationale: {result.explanation_detail.rationale}")
print(f"Confidence: {result.explanation_detail.confidence_score}")
print(f"Audit ID: {result.audit_id}")Convergence Analysis
The convergence object tells you how the optimization performed and whether the solution is reliable:
# Check optimization success
if result.success:
print("✓ Optimization found a solution")
else:
print("⚠ Optimization did not succeed")
print(f" Check explanation: {result.explanation}")
# Performance metrics
print(f"Evaluations used: {result.evaluations_used}")
print(f"Duration: {result.duration_seconds:.2f}s")
print(f"Strategy: {result.strategy_used}")
# Detailed explanation if available
if result.explanation_detail:
print(f"Convergence: {result.explanation_detail.convergence_reason}")
print(f"Confidence: {result.explanation_detail.confidence_score}")
print(f"Improvement rate: {convergence['improvement_rate']}")
# Stagnation indicates potential local optima
if convergence['stagnation_count'] > 5:
print("⚠ Multiple stagnation periods detected")
print(" Consider: increase exploration or try different strategy")Convergence Indicators
Explanation Levels
The amount of explanation detail depends on your configured explanation_level:
# Level 1: Basic summary (fastest)
{
"summary": "Converged in 234 evaluations using CMA-ES"
}
# Level 2: Add strategy rationale
{
"summary": "Converged in 234 evaluations using CMA-ES",
"rationale": "CMA-ES selected: smooth, unimodal, 10D problem"
}
# Level 3: Add alternatives considered (default)
{
"summary": "...",
"rationale": "...",
"alternatives_considered": [
{"strategy": "differential_evolution", "score": 0.72},
{"strategy": "bayesian", "score": 0.68}
]
}
# Level 4: Full audit trail (compliance)
{
"summary": "...",
"rationale": "...",
"alternatives_considered": [...],
"audit_trail": [
{"timestamp": "...", "event": "problem_analysis", "details": "..."},
{"timestamp": "...", "event": "strategy_selection", "details": "..."},
{"timestamp": "...", "event": "iteration_1", "best_fitness": 1000.5},
...
],
"audit_id": "aud_7x9k2m...",
"audit_hash": "sha256:..."
}
# Level 5: Research-grade (most detailed)
# Includes landscape analysis, hessian estimates,
# sensitivity analysis, counterfactual reasoningConstraint Analysis
For constrained optimization, the result includes detailed constraint satisfaction info:
# Check constraint satisfaction
if result['constraints_satisfied']:
print("✓ All constraints satisfied")
else:
print("✗ Some constraints violated:")
for violation in result['constraint_violations']:
print(f" - {violation['constraint']}: {violation['violation_amount']}")
# For compliance applications, get detailed constraint analysis
if result['explanation'].get('constraint_analysis'):
analysis = result['explanation']['constraint_analysis']
for constraint in analysis:
print(f"{constraint['name']}:")
print(f" Status: {constraint['status']}")
print(f" Margin: {constraint['margin']}") # How close to boundary
print(f" Sensitivity: {constraint['sensitivity']}") # Impact of relaxingLearning Context
When adaptive learning is enabled, results include information about prior experience used:
# Understanding learning context
learning = result['learning_context']
# Was prior experience used?
if learning['prior_experience_used']:
print(f"✓ Leveraged {learning['similar_problems_found']} similar problems")
print(f" Estimated speedup: {learning['speedup_factor']}x")
# What patterns were matched?
for pattern in learning.get('patterns_matched', []):
print(f" Pattern: {pattern['signature']} (confidence: {pattern['confidence']})")
else:
print("No similar problems found in learning store")
print("This optimization will be stored for future use")
# Private vs public learning
print(f"Private patterns: {learning.get('private_patterns_matched', 0)}")
print(f"Public patterns: {learning.get('public_patterns_matched', 0)}")Audit Trails (Compliance)
For regulated industries, every optimization has a tamper-evident audit trail that can be retrieved for compliance and auditing:
from sematryx import get_audit_trail
# Retrieve full audit trail by ID (for compliance)
audit = get_audit_trail(audit_id='aud_7x9k2m...')
# Audit contains complete decision history
print(f"Optimization ID: {audit['optimization_id']}")
print(f"Timestamp: {audit['timestamp']}")
print(f"User: {audit['user_id']}")
print(f"API Key: {audit['api_key_prefix']}...")
# Every decision is logged
for event in audit['events']:
print(f"[{event['timestamp']}] {event['event_type']}")
print(f" Details: {event['details']}")
print(f" Hash: {event['event_hash']}") # Tamper-evident
# Verify audit integrity
if audit['integrity_verified']:
print("✓ Audit trail integrity verified")
else:
print("✗ WARNING: Audit trail may have been tampered")Audit Trail Features
- ✓Tamper-evident: Cryptographic hashes verify integrity
- ✓Complete history: Every decision logged with timestamps
- ✓Exportable: JSON format for compliance systems
- ✓Retention: Stored for your configured retention period
🎉 Next Steps
You now understand how to interpret Sematryx results. Next, explore domain-specific optimization for your industry.