OPTIMISATION
differential_evolution
Finds the global minimum of a multivariate function.
Example of usage
Python API reference included; executable data demonstration pending review.
Usage / limitations
+Use when: Find solutions efficiently.
−Limitations: Check input requirements, mathematical assumptions and version-specific behaviour before using.
Mathematical formula
See method documentation: implementation and assumptions vary.
Sample dataShow
{
"variable": "design_case",
"domain": "Engineering parameter estimation and optimisation",
"feature_names": [
"measurement_time_s",
"response_mm"
],
"records": [
{
"measurement_time_s": 0,
"response_mm": 1
},
{
"measurement_time_s": 1,
"response_mm": 3
},
{
"measurement_time_s": 2,
"response_mm": 5
},
{
"measurement_time_s": 3,
"response_mm": 7
},
{
"measurement_time_s": 4,
"response_mm": 9
}
],
"target_value": 4.0,
"lower_bound": 0.0,
"upper_bound": 4.0,
"method": "differential-evolution"
}
Code example (Python)
design_case = {'variable': 'design_case', 'domain': 'Engineering parameter estimation and optimisation', 'feature_names': ['measurement_time_s', 'response_mm'], 'records': [{'measurement_time_s': 0, 'response_mm': 1}, {'measurement_time_s': 1, 'response_mm': 3}, {'measurement_time_s': 2, 'response_mm': 5}, {'measurement_time_s': 3, 'response_mm': 7}, {'measurement_time_s': 4, 'response_mm': 9}], 'target_value': 4.0, 'lower_bound': 0.0, 'upper_bound': 4.0, 'method': 'differential-evolution'}
# DataLens.ai example — differential_evolution
# Domain: engineering parameter estimation and optimisation.
# The sample data are included by “Copy input + code + test”.
import numpy as np
from scipy import optimize
# Read the named engineering measurements.
times = np.array([row["measurement_time_s"] for row in design_case["records"]], dtype=float)
responses = np.array([row["response_mm"] for row in design_case["records"]], dtype=float)
# Use a known target, making the numerical assertion independently meaningful.
target = design_case["target_value"]
# Minimise squared deviation from the desired setting (2 mm).
result = optimize.differential_evolution(lambda x: (x[0]-2.0)**2, bounds=[(0.0,4.0)], seed=42, tol=1e-8).x[0]
# Verify that the selected setting reaches the designed optimum.
assert np.isclose(result, 2.0, atol=1e-2), ("unexpected optimum", result)
print("Expected output verified")
# DataLens.ai example — differential_evolution
# Domain: engineering parameter estimation and optimisation.
# The sample data are included by “Copy input + code + test”.
import numpy as np
from scipy import optimize
# Read the named engineering measurements.
times = np.array([row["measurement_time_s"] for row in design_case["records"]], dtype=float)
responses = np.array([row["response_mm"] for row in design_case["records"]], dtype=float)
# Use a known target, making the numerical assertion independently meaningful.
target = design_case["target_value"]
# Minimise squared deviation from the desired setting (2 mm).
result = optimize.differential_evolution(lambda x: (x[0]-2.0)**2, bounds=[(0.0,4.0)], seed=42, tol=1e-8).x[0]
# Verify that the selected setting reaches the designed optimum.
assert np.isclose(result, 2.0, atol=1e-2), ("unexpected optimum", result)
print("Expected output verified")