class_docstr: Random experiment design.
  Random values for all variables within the given bounds.
class_docstr_tok: ["Random","experiment","design",".","Random","values","for","all","variables","within","the","given","bounds","."]
docstr: Draw random samples and only save those that satisfy constraints
  Finish when required number of samples is generated
docstr_tok: ["Draw","random","samples","and","only","save","those","that","satisfy","constraints","Finish","when","required","number","of","samples","is","generated"]
code: def get_samples_with_constraints(self, init_points_count):
      """
      Draw random samples and only save those that satisfy constraints
      Finish when required number of samples is generated
      """
      samples = np.empty((0, self.space.dimensionality))
  
      while samples.shape[0] < init_points_count:
          domain_samples = self.get_samples_without_constraints(
              init_points_count
          )
          valid_indices = (
              self.space.indicator_constraints(domain_samples) == 1
          ).flatten()
          if sum(valid_indices) > 0:
              valid_samples = domain_samples[valid_indices, :]
              samples = np.vstack((samples, valid_samples))
  
      return samples[0:init_points_count, :]
  
file_path: GPyOpt/GPyOpt/experiment_design/random_design.py
imports: import numpy
  from .base import ExperimentDesign
  from ..core.task.variables import BanditVariable, DiscreteVariable, CategoricalVariable
label_desc: Use image node_id 3 for calling the RandomDesign obj's underlying member method code with example usage: obj.get_samples_with_constraints(init_points_count) and returns: samples