import openturns as ot from openturns.viewer import View # Factorial d = ot.Factorial([1.5, 2.5, 3.5], [1, 2, 3]) s = d.generate() s.setDescription(["X1", "X2", "X3"]) g = ot.Graph() g.setTitle("Factorial experiment") g.setGridColor("black") p = ot.Pairs(s) g.add(p) View(g)
import openturns as ot from matplotlib import pyplot as plt from openturns.viewer import View # Generate sample with the given plane center = [0.5, 1.5] levels = [4, 8, 16] myPlane = ot.Factorial(center, levels) sample = myPlane.generate() # Create the graph graph = ot.Graph("", "x1", "x2", True, "") cloud = ot.Cloud(sample, "blue", "fsquare", "") graph.add(cloud) # Draw the graph fig = plt.figure(figsize=(4, 4)) plt.suptitle(sample.getName()) axis = fig.add_subplot(111) View(graph, figure=fig, axes=[axis], add_legend=False, square_axes=True) axis.set_xlim(auto=True)
# print(X, f) return [f] model = ot.PythonFunction(dim, 1, ackley) # problem problem = ot.OptimizationProblem() problem.setObjective(model) bounds = ot.Interval([-15.0] * dim, [15.0] * dim) problem.setBounds(bounds) # design center = [0.5] * dim levels = [2.0, 4.0, 8.0, 14.0] experiment = ot.Factorial(center, levels) inputSample = experiment.generate() outputSample = model(inputSample) # first kriging model covarianceModel = ot.SquaredExponential([2.50057] * dim, [0.1]) basis = ot.ConstantBasisFactory(dim).build() kriging = ot.KrigingAlgorithm(inputSample, outputSample, covarianceModel, basis) kriging.run() # algo algo = ot.EfficientGlobalOptimization(problem, kriging.getResult()) # solver = ot.NLopt('GN_ESCH') # solver = ot.NLopt('GN_MLSL') algo.setMaximumIterationNumber(15)
# %% # Scale and to get desired location. # %% sample *= 2.0 sample += [5.0, 8.0] graph = drawBidimensionalSample(sample, "Axial") view = viewer.View(graph) # %% # Factorial design # ---------------- # # %% experiment = ot.Factorial(2, levels) sample = experiment.generate() sample *= 2.0 sample += [5.0, 8.0] graph = drawBidimensionalSample(sample, "Factorial") view = viewer.View(graph) # %% # Composite design # ---------------- # %% experiment = ot.Composite(2, levels) sample = experiment.generate() sample *= 2.0 sample += [5.0, 8.0]