Class ShopExperiment

    • Field Detail

      • shop

        protected Shop shop
    • Constructor Detail

      • ShopExperiment

        public ShopExperiment()
    • Method Detail

      • createShop

        protected void createShop()
      • doCreateShop

        protected Shop doCreateShop()
        Factory method to create/initialize a shop object.
        Returns:
        The new Shop instance.
      • configureShop

        protected void configureShop()
      • getSequencingRule

        protected PR getSequencingRule​(int i)
      • getBatchSequencingRule

        protected PR getBatchSequencingRule​(int i)
      • getBatchForming

        protected BatchForming getBatchForming​(int i)
      • setMaxJobsInSystem

        public void setMaxJobsInSystem​(int maxJobsInSystem)
        End simulation if WIP (work in process) reaches this value (<=0: no limit; default is -1).
        Parameters:
        maxJobsInSystem - The maximum number of concurrent jobs allowed in the system.
      • getMaxJobsInSystem

        public int getMaxJobsInSystem()
      • setEnableLookAhead

        public void setEnableLookAhead​(boolean enableLookAhead)
        Enable/disable the lookahead mechanism of this shop. If enabled, dispatching rules can select jobs arriving in the near future (i.e., jobs already processed on an immediate predecessor machine).
        Parameters:
        enableLookAhead - Whether or not to enable one-stop look ahead.
      • isEnableLookAhead

        public boolean isEnableLookAhead()
      • setStopAfterNumJobs

        public void setStopAfterNumJobs​(int stopAfterNumJobs)
        End simulation if a certain number of jobs was completed (<=0 (default): no limit).
        Parameters:
        stopAfterNumJobs - Set the number of jobs to complete before terminating the simulation.
      • getStopAfterNumJobs

        public int getStopAfterNumJobs()
      • getSequencingRule

        public PR getSequencingRule()
      • setSequencingRule

        public void setSequencingRule​(PR sequencingRule)
        Sets a certain dispatching rule to be used for sequencing jobs on all machines.
        Parameters:
        sequencingRule - The sequencing rule to use on all work stations.
        See Also:
        setSequencingRules(PR[])
      • getBatchSequencingRule

        public PR getBatchSequencingRule()
      • setBatchSequencingRule

        public void setBatchSequencingRule​(PR batchSequencingRule)
        Sets a certain dispatching rule to be used for sequencing batches on all batch machines.
        Parameters:
        batchSequencingRule - The batch sequencing rule to use on all work stations.
        See Also:
        setBatchSequencingRules(PR[])
      • setBatchForming

        public void setBatchForming​(BatchForming batchForming)
        Sets a batch forming mechanism to be used on all machines.
        Parameters:
        batchForming - The batch forming rule to use on all machines
        See Also:
        setBatchFormingRules(BatchForming[])
      • setSequencingRules

        public void setSequencingRules​(PR[] sequencingRules)
        Sets a sequencing rule for specific machines. To use it sequencingRules has to contain an entry for each machine (workstation) in the model.
        Parameters:
        sequencingRules - An array of sequencing rule, containing one PR per work station.
        See Also:
        setSequencingRule(PR)
      • getSequencingRules

        public PR[] getSequencingRules()
      • setBatchSequencingRules

        public void setBatchSequencingRules​(PR[] batchSequencingRules)
        Sets a batch sequencing rule for specific machines. To use it batchSequencingRules has to contain an entry for each machine (workstation) in the model.
        Parameters:
        batchSequencingRules - An array of batch sequencing rules, one for each workstation.
        See Also:
        setBatchSequencingRule(PR)
      • getBatchSequencingRules

        public PR[] getBatchSequencingRules()
      • setBatchFormingRules

        public void setBatchFormingRules​(BatchForming[] batchFormingRules)
        Sets a batch forming mechanism for specific machines. To use it batchFormingRules has to contain an entry for each machine (workstation) in the model.
        Parameters:
        batchFormingRules - An array of batch forming rules, one for each workstation.
        See Also:
        setBatchForming(BatchForming)
      • getBatchFormingRules

        public BatchForming[] getBatchFormingRules()
      • getMachineListenerSpecific

        public NotifierListener<SimComponent,​SimComponent.SimComponentEvent>[] getMachineListenerSpecific​(String name)
        Returns an array of all listeners registered for a given machine registered before using #addMachineListener(String, NotifierListener).
        Parameters:
        name - The workstation's name.
        Returns:
        An array of all listeners for the given machine name.