Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DOI 10.1007/s10845-015-1059-z
123
J Intell Manuf
machining time, energy consumption, and surface roughness neous data may cause data processing and matching prob-
in sculptured part machining. Jia et al. (2014) proposed the lems. Third, formulating and solving an optimization prob-
optimization method that applies the Therblig-based energy lem generally need specialized expertise and skill, e.g., Math-
model through mapping of machining activities with energy ematical Programming (MP), Constraint Programming (CP),
attributes. Lei et al. (2014) integrated a traditional process Genetic Algorithms or Simulated Annealing. This work also
planning approach with the green process concept that con- requires fundamental knowledge of existing software and
siders several sustainability indicators such as tool wear, the underlying algorithm principles (Biegler 2010). How-
energy consumption, fluid consumption, fluid toxicity, and ever, manufacturers may not have this expertise and skill.
equipment’s noise. Their efforts have contributed to the suc- Fourth, manufacturers normally design their incompatible
cess of utilizing optimization approaches to advance sustain- optimization models, i.e., application-specific models. This
ability performance objectives. However, the application of means that the use of a different optimization application
these optimization approaches remains a major challenge for will require re-modeling even for the same problem. Fifth,
manufacturers, especially small and medium-sized manufac- manufacturers have to create their optimization models again
turers, due to the complexity and expertise required for for- and again unless these models or model components can be
mulating and solving optimization problems. reused.
Therefore, there is a need to easily formulate optimization To address these challenges, this paper presents the devel-
models (i.e., a set of representation models including an opti- opment of a DSS that enables manufacturers to: (1) formulate
mization problem, its associated manufacturing processes optimization problems at multiple manufacturing levels, (2)
and data, and optimization strategy) and to obtain optimal represent manufacturing data and performance metrics, (3)
solutions by using a Decision Support System (DSS), which create compatible and reusable models, and (4) easily derive
is “a computer-based program application that helps users in- optimization solutions for improving sustainability perfor-
corporate business and organizational decision making activ- mance. More specifically, the contributions of this paper are
ities (Vinodh et al. 2014)”. Manufacturers can use commer- as follows. First, we propose a decision-making procedure
cial DSSs, i.e., existing optimization applications, for this that can be applied to manufacturing practices and design
purpose. It is more efficient to use a DSS that enables manu- considerations to map this procedure to system implemen-
facturers to formulate their optimization problems easily and tation. Second, we propose a system architecture for the
intuitively and, in turn, to obtain optimal solutions for sus- behavior (activities in a logical progression), the function
tainability performance of manufacturing processes. How- (functional components for the activities), and the data (data
ever, there are no such DSSs in the domain of sustainable components for representing an optimization model and solu-
manufacturing, which are capable to resolve the following tion). Third, we implement a prototype of the DSS based on
challenges. the designed architecture. Finally, we apply the prototype to
First, optimization models for sustainable manufacturing two case studies to demonstrate the effectiveness of the DSS.
generally need to deal with problems at multiple manufactur- The two case studies include a resource allocation problem
ing levels such as the production level and/or the unit-process at the production level and a parameter selection problem at
level (i.e., a process element of a production process). For the unit-process level. For representing optimization models
example, there are optimization problems for minimal energy and solutions, we adopt the Sustainable Process Analytics
consumption by resource allocation at the production level Formalism (SPAF) that was developed at National Institute
and by process parameter selection at the unit-process level. of Standards and Technology (NIST), which “allows formal
Moreover, these optimization models are typically complex modeling of modular, extensible and reusable process com-
and involve many constraints from both productivity and sus- ponents and enables the optimization of sustainability perfor-
tainability aspects such as production throughput and energy mance based on mathematical programming (Brodsky et al.
consumption. Second, the diversity of manufacturing data 2014)”. The key functions of the DSS are to: (1) provide
and the complex relationships among those data make it dif- an efficient procedure to derive optimal solutions for sus-
ficult to formulate optimization problems. The mathematical tainability performance, and (2) formulate compatible and
relationships need to be represented correctly and also solv- reusable optimization models for various optimization appli-
able. It is not easy to represent manufacturing data necessary cations.
for formulating the problems due to various characteristics of “Related work” section of this paper reviews the litera-
the data in terms of time domain, format and data source (e.g., ture relevant to DSSs in manufacturing and the data struc-
time-series or discrete-event, structured or unstructured, and ture of SPAF. “A decision-making procedure for improving
dynamic or static). For example, process plan data have a sustainability performance” section describes the decision-
static characteristic that is independent of time domain while making procedure for improving sustainability performance.
machine monitoring data are dynamic, time-sensitive, and “Design consideration” section presents design considera-
related to a machine tool’s actions. These two heteroge- tions for architecting the DSS, called Sustainability Perfor-
123
J Intell Manuf
mance Optimization Tool (SPOT) and “Architecture design” ment in production environments; however, this reference
section introduces the architecture design of SPOT. “Imple- only utilized the optimization technique for the specific prob-
mentation” section describes the prototype implementation lem. Vinodh et al. (2014) implemented a DSS that performed
of SPOT and “Case study” section describes the two case fuzzy logic-based sustainability evaluation for measuring the
studies and discussion. “Conclusion” section provides a sum- sustainability level of a manufacturing organization and did
mary and conclusions of our work. not much consider the compatibility and reusability of opti-
mization models. Iqbal et al. (2014) developed a fuzzy-based
DSS that consists of optimization and prediction for trade-off
Related work among energy consumption, tool life, and material removal
rate.
This section reviews DSSs within manufacturing domain and
introduces the data structure of SPAF. Data structure of sustainable process analytics formalism
(SPAF)
Decision support systems in manufacturing
SPAF has been designed to allow formal modeling of modu-
A wide range use of DSSs has served to the improve- lar, extensible and reusable process and data components in a
ment of productivity performance in production line design, unified modeling environment (Brodsky et al. 2014). For such
process and machine tool selection, outsourcing determi- a purpose, SPAF provides the hierarchical data structure to
nation, condition-based maintenance and so on. For exam- represent process flow, data and mathematical specification
ples, Vitanov et al. (2007) presented a DSS that obtained a of metrics for sustainability-related optimization problems
quasi-optimal solution for cell line formation. Battaia et al. (Shao et al. 2014). As shown in Fig. 1, ‘context’ presents the
(2012) developed a DSS that assisted finding the configura- model name and context data and is globally accessed by all
tion of a production line. Yurdakul et al. (2014) developed a the components. ‘Flow’ describes entities of inputs and out-
DSS that provided the most economical net-shape primary puts of a unit-process. ‘Flow aggregator’ presents merges or
process. Giachetti (1998) developed a DSS to solve a mate- splits of the inputs and outputs of a unit-process. ‘Process’
rial and manufacturing process selection problem. Arslan presents a unit-process that may consist of a single process
et al. (2004), Taha and Rostam (2012) and Alberti et al. or its subordinate processes. ‘Metrics aggregator’ provides a
(2011) developed their DSSs for machine tool selection by set of sustainability metrics.
using multi-criteria weighted average, fuzzy analytic hier-
archy process, and machine characteristics and performance
tests, respectively. Leng et al. (2014) proposed a DSS for parts A decision-making procedure for improving
machining outsourcing. Yam et al. (2001) implemented a sustainability performance
DSS that supplemented conventional condition-based main-
tenance by adding fault diagnosis and predicting equipment A decision-making procedure, i.e., an optimization proce-
deterioration. Their DSSs have shown to assist manufactur- dure, is necessary to formulate an optimization problem and
ers to improve productivity performances across enterprise to solve the optimization problem. When a well-structured
and manufacturing process levels; however, they have not approach is taken, the complexity of an optimization pro-
related to the improvement of sustainability performance. cedure can be reduced. This section introduces a decision-
Recently, a few references such as Le and Pang 2013, making procedure to improve sustainability performance
Zhu et al. 2014, Vinodh et al. 2014 and Iqbal et al. 2014 have based on the interaction with SPOT.
introduced DSSs relevant to support decision-making on sus-
tainability performance in manufacturing. Their efforts have An overall procedure
demonstrated the usefulness of the relevant DSSs for improv-
ing sustainability performance. However, these references An optimization procedure typically consists of problem for-
are different in the scope of this paper. Le and Pang (2013) mulation and problem encoding (Dimopoulos and Zalzala
proposed a unified DSS architecture that segmented power 2000). The problem formulation step specifies the problem
data and clustered the power into groups according to the and system boundary or constraints; meanwhile the prob-
process operational states. This reference focused on energy- lem encoding step determines an optimal solution through
and cost- efficiency and decision reliability, but it requires process modeling, data collection, optimization solving and
expertise of operational research for generating energy-based validation. In our approach (as shown in Fig. 2), these steps
diagnosis and prognosis models. Zhu et al. (2014) developed can be taken by the interaction with SPOT through its user
a model-predictive Linear Programming (LP) optimizer to interfaces. SPAF makes it possible to represent optimiza-
minimize energy lost with application to energy manage- tion model components in a modular and compatible way.
123
J Intell Manuf
SPAF
data structure
Cost
Revenue
ROI
Fig. 2 A schematic
optimization procedure for
improving sustainability 1. Problem 2. Process 3. Data 4. Optimization
5. Validation
performance formulation modeling collection solving
SPOT
- Objective function
User interfaces
- Alternative solutions
- Sustainability indicator - Backup data query
- Decision variables Model - Actionable recommendation
- Constraints
Knowledge-base
Application interfaces
Optimization
applications
The model knowledge-base stores and retrieves these model Step 1: problem formulation
components for their reuse. SPOT interacts with optimiza-
tion applications that can derive the optimal solutions for the When manufacturers consider the improvement of sustain-
given problem. ability performance, they normally conceptualize an engi-
Figure 2 presents a schematic optimization procedure for neering problem based on their requirements. Because this
manufacturing domain. Each step can concurrently progress, engineering problem forms informal and conceptual state-
take an iterative way with others and even provide feed- ment at the initial stage, it needs to be transformed to for-
back from the last step to the first one. In the following sub- mal and mathematical representation for formulating an opti-
sections, we describe the details of these steps and their cor- mization problem. As ‘problem formulation’ associates with
responding examples at the production and the unit-process this work, it specifies the problem and system boundary or
levels for easy understanding. constraints. The current problem model may not be fully for-
123
J Intell Manuf
Energy
Material B Unit-process Unit-process Unit-process Unit-process
1 2-2 5 6
Energy Energy Energy
Unit-process
Energy
2-3
mulated because its manufacturing process model and data Minimi ze P(x1 , . . . , xn )
⎧
⎨ P(x) = γ0 + γi xi + γi j xi x j + ε,
⎪
are not instantiated yet. We need to revisit this step after the n n
completion of each subsequent step to check for consistency subject to i=1 i≤ j
of the optimization model. This step outputs the definition of ⎪
⎩ xi(L) ≤ xi ≤ xi(U )
the following elements (Deb 2001):
(2)
123
J Intell Manuf
System boundary
Process parameters
Step 3: data collection cutting tool and a machine tool. The P(x) can be obtained
through an empirical approach, which conducts experiment
‘Data collection’ performs collection of the manufacturing on the process plan data and measures their corresponding
data relevant to objective functions, constraints and deci- machine monitoring data.
sion variables. The manufacturing data can be classified into
dynamic and static data according to their source. As shop
floor data correspond to dynamic data created or used during Step 4: optimization solving
manufacturing planning and operation, the data can include
production/process plan, machine monitoring, inspection ‘Optimization solving’ applies optimization strategies, meth-
and environment information. Inventory data are the static ods, and techniques to problem solving. Optimization prob-
and referential data supplied by external sources and used lems can be classified in terms of the nature of decision
when shop floor data are not available. The focus of this step variables, equations, the number of objective functions and
is not about data logging from equipment or data collecting so on (Rao 2009). For example, an optimization problem
from sensors, instead, it is mainly about the insight of data can be classified as either Mixed Integer Linear Program-
characteristics and relationships among different data, and ming (MILP) or Non-Linear Programming (NLP) in terms
the identification of data sources. of continuous or discrete decision variables (Biegler 2010).
Production level: the functions E i (xi ) and the bounds However, manufacturers who are not familiar with these
(L) (U )
xi and xi of Eq. 1 need to be specified by the collec- optimization techniques may have difficulty of the selec-
tion of useful real shop floor data. For example, assuming tion of an appropriate optimization technique and the deriva-
energy consumption at each unit-process has a piecewise lin- tion of optimal solutions. To perform easily this difficult
ear dependency on the throughput of the unit-process, asso- work, SPOT communicates with optimization applications,
ciating coefficients are found by the result of this data col- based on the SPAF models that can be generated by the
lection. Equation 3 represents the piecewise linear formula manufacturers.
to calculate energy consumption at each unit-process. Then, Production level: because the functions E i (xi ) of Eq. 3
E(x) of Eq. 1 can be instantiated because the E(x) is the form non-convex functions, this problem is a MILP prob-
sum of E i (xi ). lem. The problem given to the production level, for example,
⎧ can be solved by a branch and bound technique, which is
⎨ α1 xi + β1 , i f 0 ≤ x < x1 , the most widely-used for solving MILP problems (Clausen
E i (xi ) = . . . (3) 1999). A production engineer can obtain the optimal solu-
⎩
αn xi + βn , i f xn−1 ≤ x ≤ xn tion that includes the minimum energy consumption and the
number of throughput at each unit-process.
where, α: gradient coefficient, and β: Y intercept Unit-process level: for example, the problem given to
Unit-process level: the bounds xi(L) and xi(U ) and the func- the unit-process level can be solved by a CP technique that
tion P(x) of Eq. 2 can be instantiated by the collection solves optimization problems through the representation of
of process plan data including a set of process parameters the problems and the use of tree search algorithms (Zeballos
and machine monitoring data including time-series electri- 2010). A process engineer can obtain the optimal solution that
cal power data. The lower and upper bounds are specified, includes the minimum power demand and its corresponding
depending on the combination of a workpiece material, a process parameters.
123
J Intell Manuf
123
J Intell Manuf
System
Define problem & objective
Provide model in library or template
Identify key indicator
<<include>>
Set variable & constraint
<<include>>
Inquire application-neutral code
Collect data from internal database
<<extend>>
User Search data set <<include>>
Collect data Collect data from shop floor
Production engineer <<extend>>
Process engineer
Equipment engineer <<extend>>
Facility engineer
Analyzer Instantiate data set into the model Collect data from external source
Operational manager
<<include>>
Translate application-neutral code Import the result
‘search & reuse existing model’ is the use case that spec- Behavior structure
ifies reusability for the reuse of existing model elements.
‘Collect data’ and its extended cases specify diversity for the Because an activity diagram can specify the execution and
availability of various data sources. ‘Inquire an application- command of subordinate behaviors, it is commonly used to
neutral code’ and ‘generate an application-neutral code’ sup- identify the behaviors of the system (OMG 2007). Figure 6
port compatibility by generating an application-neutral for- visualizes the activity diagram to present the behavior struc-
mat. ture that transforms the use cases in Fig. 5 to procedural
activities.
The stream on the left includes a set of activities that for-
Architecture design mulate an optimization problem. In the middle stream, the
activities of ‘process modeling’ support the identification of
Based on the requirement specification presented in a set of unit-processes and their relationships. The activi-
“Requirement specification” section, we design the archi- ties of ‘data collection’ provide separate channels to collect
tecture that describes the behavior (how activities take place data from internal and external data sources. The activities
in a logical progression), the function (which functions are of the right stream include the activities for the ‘optimiza-
responsible for the activities) and the data (which data are tion solving’ step to generate an application-neutral code that
necessary for representing an optimization model and solu- includes process structure, resource flow, data, control para-
tion). The following sub-sections present the behavior, the meters, metrics and constraints. There are two data exchange
function, and the data structures, respectively. The design of options to request and return optimal solutions: (1) file trans-
these structures adopts Unified Modeling Language (UML) action, and (2) direct data transaction through Application
to facilitate mutual understanding and commonality. Programming Interfaces (API).
123
J Intell Manuf
Record problem statement Reuse process model Inquire available application list
Process model does not existed in repository Save integrated process model
[Problem statement] Provide available application list
123
J Intell Manuf
User interface
Problem formulation UI Process modeling UI Data collection UI Optimization modeling UI Optimization application
Problem formulation viewer Process model viewer Query editor Application selector I/O interface
Indicator selector Process model finder Query response viewer Code viewer
Engine
Result viewer
Variable & constraint selector Database selector
Responder
File translator
Integrated process model
Data pre-processor
Optimization solving
External repository Equipment
stores and retrieves process model components registered can perform data cleaning and data validation. The data
by the user’s former works. cleaning uses reasoning rules to omit unnecessary, erro-
• Data collector: ‘data collection manager’ controls activi- neous or duplicated data. The data validation checks and
ties related to the ‘data collection’ step and configures data quantifies data reliability and consistency. This ‘data pre-
connectivity with targeted data sources. After establishing processor’ plays a role of handling data uncertainty (will
data connectivity, a query-and-response transaction can be discussed in “Discussion” section).
occur. ‘Query generator’ reformulates the syntax of user’s • Code generator: ‘application-neutral code matcher’ con-
query as required. It then delivers the reformulated query verts the integrated process model (the process model
to an Extract/Transform/Load (ETL) tool installed in the instantiating relevant data) and the problem formulation
database. The ETL tool delivers the data set that satis- into instances structured by a data schema (which will be
fies the query condition to ‘responder’. A data set from described in “Data structure” section). This function can
an external source cannot be used directly because of het- transform graphical notation to textual code. For example,
erogeneous semantics and syntaxes. ‘Ontology mapper’ if a user attaches a separator that decomposes a production
in the ‘data interface’ resolves this heterogeneity. Corre- flow into several flows, the graphical separator is trans-
spondences between semantically related entities of the formed to a textual separator. ‘Application-neutral code
local information sources and the virtual ontology are to generator’ creates an application-neutral code in an SPAF
be established, known as a matching. The query answer- form from the data instances.
ing is performed by this matching (Euzenat and Shvaiko • API integrator: ‘API manager’ provides connectivity with
2007). ‘Data pre-processor’ handles missing and error data the application through API-based data transaction. When
to leverage data conformance and reliability. This function a user selects a target application through ‘application
123
J Intell Manuf
selector’, ‘API manager’ assigns the application and mization applications. This repository provides rules that
invokes ‘model mapper’. ‘Model mapper’ maps the data enable conversion of an application-neutral format to an
instances of ‘application-neutral code matcher’ with a data application-specific format. For example, if a user selects
scheme dedicated to the application. For instance, if a user ILOG CPLEX, ‘translation manager’ opens a channel to
selects ILOG CPLEX (IBM 2012), the data instances are ‘Optimization Programming Language (OPL) file transla-
mapped to the data schema available in ILOG CPLEX. tor’. Then, this file translator generates an OPL file, which
‘API connector’ provides a channel between the workflow can be executed by ILOG CPLEX.
engine and an optimization application. This connector
delivers an optimization model to an optimization appli-
cation and obtains the solutions directly from the opti- Data structure
mization application.
• Translator: ‘translation manager’ supports file-based data Because the behavior structure and the function structure
transaction with an optimization application. It also do not cover data representation, a class diagram is created
assigns the application and invokes ‘file translator’ that to specify the structure of data objects, their attributes and
converts the SPAF file to interpretable files for the target the relationships among the objects. As shown in Fig. 8, the
application. ‘Semantics and syntax repository’ registers classes are also clustered into four groups: problem formu-
and stores the rules of semantics and syntaxes for opti- lation, process modeling, data collection and optimization
123
J Intell Manuf
123
J Intell Manuf
Fig. 10 Screen shots of SPOT prototype system. a A main GUI. b Tree viewers for the selection of unit-process and sustainability indicator. c A
pop-up box for unit-process characterization (e.g., a turning machining process)
123
J Intell Manuf
Supplier Supplier
A B
Metallic
Module
Plastic
Supplier Grains Plastic Part
C
Arc Welding
Injection Molding Final
Part
Machine1
Metal Threaded Fastening
Supplier Powder Metal Part
D
Machine2
Die Casting
Machine3
Turning Machining Production Process
tors by drag-and-drop operation (simplicity). In addition, the tion of resources at the production level and selection
left panel provides a process template tree that saves process of process parameters at the unit-process level. The two
model components for reuse (reusability). case studies use assumed data values. “Discussion” sec-
The upper middle panel provides a process modeler that tion discusses the issues of data uncertainty and size,
allows a user to graphically design a production process (sim- computations and comparison with existing optimization
plicity). The lower middle panel provides a production prop- applications.
erty table and an indicator property table. The production
property table edits and shows production details such as Manufacturing scenario
identification, throughput, and units (simplicity and diver-
sity). By using the indicator table, the selected indicator can Figure 11 illustrates a production process to manufacture a
be specified as either a performance indicator or a constraint mechanical part of a drilling tool. A welding process joins
indicator variable. A user can select an object and ranges of two metal parts and an injection molding process produces a
the indicators and constraints. plastic part. A die casting process forms a casted part from
The lower right panel displays a unit-process characteri- metal powders and this part passes through one of three
zation table. A user can characterize a unit-process through machine tools in a turning machining process. These turn-
a characterization wizard, as shown in Fig. 10c. This char- ing machines can manufacture a maximum of 20 parts per
acterization wizard provides a guidable interface to identify hour. A fastening process makes a final part by manual assem-
process properties such as parametric design, process para- bly. The production process should yield 20 final parts per
meters, a machine and its auxiliaries (diversity and simplicity) hour.
(Madan et al. 2013). When a unit-process is characterized, a We assume that the energy profiles of the three turn-
user can check process properties and edit them directly on ing machines have a piecewise linear dependence on hourly
the viewer (simplicity). throughput. But, these energy profiles have different coef-
ficients of the linear dependency due to different machine
capabilities while other unit-processes have constant energy
Case study consumption. We also assume that an engineer has no expe-
rience in optimization and accesses to an optimization appli-
Two case studies are performed to demonstrate the effective- cation to solve optimization problems.
ness of SPOT. “Manufacturing scenario” section describes
a manufacturing scenario that includes a production process Optimization for resource allocation at the production level
and its associated assumptions. Sections “Optimization for
resource allocation at the production level” and “Optimiza- The objective of this case study is to minimize energy con-
tion for parameter selection at unit-process level”, respec- sumption in the production process by proper allocation of
tively, show minimizing energy consumption by alloca- the numbers of parts to each of the three turning machine
123
J Intell Manuf
120
‘Model process baseEnergyThruMachine { }’ represents
Turning1
Energy consumption (kJ)
100
Turning2
an abstract function for energy consumption, based on
Turning3 the energy function ‘pwlFunction energyFunction’ and its
80
constraints.
60 For example, ‘Turning 1’ shows a unit-process model that
40
calculates energy consumed by ‘turning machine 1’. The pro-
file has a linear gradient (s[0] = 0.2) and an initial energy
20
(initEnergy = 50) during its first segment. ‘Model process
0 ManufacturingFloor{ }’ includes the metric model and the
0 10 60 100 150
context model. The ‘energyPerHour’ variable equals to total
The number of parts
energy consumed during the production process. Here the
Fig. 12 Examples of energy profiles for the three turning machines constraint is coded by ‘item[threadedOutItem].unitPerHour
= 20’, and the objective function is coded by ‘minimize Man-
ufacturingFloor[ ].energyPerHour’, respectively.
tools. An engineer can formulate an optimization problem,
The ‘OPL translator’ component transforms the SPAF
as expressed in Eq. 4:
file into two OPL files (i.e., a model file and a data file).
Minimi ze E(x1 , x2 , x3 ) Figure 14 presents a portion of the OPL model file and
⎧
⎪ n Fig. 15 shows a portion of the OPL data file. The mapping
⎪
⎪ E(x1 , x2 , x3 ) = E n (xn ) + C,
⎪
⎪ rule defined in ‘semantics/syntax repository’ converts syn-
⎪
⎨ i=1
x1 + x2 + x3 = 20, tax and semantics of the SPAF into those of the OPL. For
subject to (4) example, the ‘float energyPerHour’ variable of the SPAF
⎪
⎪ 0 ≤ x1 ≤ 20,
⎪
⎪ model is converted to “dexpr float ManufacturingFloor_
⎪
⎪ 0 ≤ x2 ≤ 20,
⎩ energyPerHour[..] = …’ of the OPL model. The detailed map-
0 ≤ x3 ≤ 20
ping rule (Brodsky et al. 2014) is beyond the scope of this
where, xn : the numbers of parts to each of the three machine paper.
tools E n (xn ): energy consumption at each machine tool, C: The CPLEX engine receives the OPL files, derives an opti-
constant energy consumption by other unit-processes. mal solution through the branch-and-bound algorithm and
The engineer designs the production process in Fig. 11 returns the solution to ‘web-server’. The optimal solution
through the ‘process modeler’ user interface. The engineer calculates that minimal energy consumption will be 316.35
needs to collect the data relevant to energy consumption kJ for the production process if the numbers of parts are allo-
because Eq. 4 needs to be instantiated with real values. cated as 7 parts for ‘turning machine 1’, 3 parts for ‘turning
Assuming the three turning machines make the energy pro- machine 2’, and 10 parts for ‘turning machine 3’, as displayed
files with regard to the number of parts, as shown in Fig. in Fig. 10a.
12, E n (xn ) can be instantiated. For example, the energy
equation for ‘turning machine 1’ can be expressed by
Eq. 5:
Optimization for parameter selection at unit-process level
⎧
0.2x1 + 50 0 ≤ x1 ≤ 10,
⎪
⎪
⎨ The objective of this case study is to minimize energy con-
0.25x1 + 49.5 10 ≤ x1 ≤ 60,
E 1 (x1 ) = (5) sumption of, for example, ‘turning machine 1’ by select-
⎪
⎪ 0.3x1 + 46.5 60 ≤ x1 ≤ 100,
⎩ ing appropriate decision variables – feedrate, spindle speed,
0.5x1 + 26.5 100 ≤ x1 ≤ 150
and cutting depth. The engineer uses an empirical model of
The engineer selects ILOG CPLEX as an optimization power demand that relates the decision variables of ‘turn-
application through the ‘application selector’ user interface. ing machine 1’ to its energy consumption (Shin 2010). Sim-
Then the prototype system generates a SPAF file. Figure ilar to the production case presented in “Optimization for
13 demonstrates a portion of a SPAF file. ‘Model flow resource allocation at the production level” section, the engi-
item{}’ indicates the flow model, and ‘model flow aggre- neer can formulate and instantiate an optimization problem,
gator itemAggr{}’ stands for the flow aggregator model. as expressed in Eq. 6:
123
J Intell Manuf
float thru;
minThru <= thru <= maxThru;
float energyPerHour = energyFunction(thru);
forall (i in outputFlows) thru == item[i]a.unitPerHour;
}
model process Turning1 {
...
model energy = new baseEnergyThruMachine["turn1"]{
inputFlows = { turningInItem1 }; outputFlow = turningOutItem1; inputPerOutput[] = [1]; s[] = [0.2, 0.25, 0.30, 0.5];
b[] = [10,60,100]; minThru = 0.0; maxThru = 150; initEnergy = 50.0
};
float energyPerHour = baseEnergyThruMachine[energy].energyPerHour;
float thru = baseEnergyThruMachine[energy].thru;
}
model process ManufacturingFloor {
...
float energyPerHour = DieCasting[dieCastingProc].energyPerHour + Turning1[turning1Proc].energyPerHour +
Turning2[turning2Proc].energyPerHour + Turning3[turning3Proc].energyPerHour +
GasMetalArcWelding[gasMetalArcWeldingProc].energyPerHour +
InjectionMolding[injectionMoldingProc].energyPerHour;
item[threadedOutItem].unitPerHour == 20;
}
minimize ManufacturingFloor[].energyPerHour;
Minimi ze P(x1 , x2 , x3 )
⎧
⎪ 2 2 2
⎨ P(x1 , x2 , x3 ) = 2.807 + 0.123x1 + 0.676x2 + 0.157x3 − 0.028x1 + 0.053x2 − 0.008x3 + 0.176x1 x2 + 0.022x1 x3 + 0.024x2 x3 ,
X −0.25 X −133.25 X −2.5 (6)
subject to x1 = 0.02 , x2 =
1 2
33.25 , x 3 =
3
0.5 ,
⎪
⎩ 0.23 ≤ x1 ≤ 0.27, 100 ≤ x2 ≤ 166.5, 2 ≤ x3 ≤ 3
123
J Intell Manuf
item_IDS = { "dieIN" "dieOUT" "turnIN1" "turnOUT1" "turnIN2" "turnOUT2" "turnIN3" "turnOUT3" "weld2fast"
"weldIN" "inj2fast" "injIN" "fastOUT" "fastIN" };
item_type = #["dieIN" : "dieCastingInType", "dieOUT" : "dieCastingOutType" , "turnIN1" : "dieCastingOutType" , "turnOUT1" :
"turningOutType" , "turnIN2" : "dieCastingOutType" , "turnOUT2" : "turningOutType" , "turnIN3" :
"dieCastingOutType" , "turnOUT3" : "turningOutType" , "weld2fast" : "weldingOutType" , "weldIN" :
"turningOutType" , "inj2fast" : "injectionMoldingOutType" , "injIN" : "injectionMoldingInType" , "fastOUT" :
"finalPartType" , "fastIN" : "addFasteningInType" ]#;
itemAggr_IDS = { "dieAggr" "turnAggr" };
itemAggr_inputFlows = #["dieAggr" : {"dieOUT"}, "turnAggr" : {"turnOUT1", "turnOUT2", "turnOUT3"} ]#;
itemAggr_outputFlows = #["dieAggr" : {"turnIN1", "turnIN2", "turnIN3"}, "turnAggr" : {"weldIN"} ]#;
baseEnergyThruMachine_IDS = { "die" "turn1" "turn2" "turn3" "weld" "inject" "fast" };
…
baseEnergyThruMachine_inputPerOutput = [5.7, 1 , 1 , 1 , 1 , 1 , 1, 1, 1 ];
baseEnergyThruMachine_minThru = #["die" : 0.0, "turn1" : 0.0 , "turn2" : 0.0 , "turn3" : 0.0 , "weld" : 0.0 , "inject" : 0.0 , "fast" : 0.0 ]#;
baseEnergyThruMachine_initEnergy = #["die" : 50.0, "turn1" : 50.0 , "turn2" : 50.0 , "turn3" : 50.0 , "weld" : 50.0 , "inject " : 50.0 , "fast" :
50.0 ]#;
baseEnergyThruMachine_maxThru = #["die" : 150, "turn1" : 150 , "turn2" : 3 , "turn3" : 10 , "weld" : 150 , "inject" : 150 , " fast" : 150 ]#;
baseEnergyThruMachine_s = [0.2, 0.25, 0.30, 0.5, 0.2, 0.25, 0.30, 0.5 , 0.15, 0.2, 0.25, 0.5 , 0.1, 0.11, 0.12, 0.5 , 0.2, 0. 25, 0.30, 0.5 , 0.2, 0.25,
0.30, 0.5 , 0.2, 0.25, 0.30, 0.5 ];
baseEnergyThruMachine_b = [10, 60, 100, 10, 60, 100 , 10, 60, 100 , 10, 60, 100 , 10, 60, 100 , 10, 60, 100 , 11, 60, 100 ];
...
Turning1_IDS = { "turn1" };
Turning1_turningInItem1 = #["turn1" : "turnIN1"]#;
Turning1_turningOutItem1 = #["turn1" : "turnOUT1"]#;
Turning1_energy = "turn1";
...
123
J Intell Manuf
• Data uncertainty and size: because manufacturing data distributed database like Hadoop Distributed File Sys-
normally include erroneous or missing data and the dif- tem (HDFS) (Shvachko et al. 2010) and a programming
ference between measured values and their true values model such as MapReduce (Dean and Ghemawat 2008).
(Wazed et al. 2009), various degrees of uncertainty exist We are developing a HDFS and MapReduce infrastruc-
in the data. Therefore, it is a challenge to handle the ture to enable on-time prediction and optimization for
data uncertainty because the increase of the data uncer- improving sustainability performance in manufacturing
tainty decreases the accuracy of optimal solutions. The processes (Shin et al. 2014). However, the current SPOT
uncertainty comes from the data, as one of epistemic doesn’t integrate this data infrastructure. This should be a
uncertainties (Roy 2010), can be reduced with uncer- future implementation together with the implementation
tainty quantification and data-preprocessing. The uncer- of the data pre-processor.
tainty quantification helps manufacturers characterize the • Computational aspect of SPOT: in the current imple-
sources of the uncertainty and measure the probability mentation, the OPL model and data are submitted to
distribution of the data and finally find some controllable the CPLEX Mixed Integer Linear Programming (MILP)
solutions. The data pre-processing, which includes data application, which returns an optimal instantiation of all
cleaning, normalization, transformation, feature extrac- variables to real or integer values if the problem is feasi-
tion, and selection (Kotsiantis et al. 2006), enables man- ble and bounded. The CPLEX uses the branch and bound
ufacturers to generate the data that decrease the uncer- algorithm for MILP problems, augmented with a variety
tainty by the elimination of noisy and unreliable data of heuristics. The optimization problems can only use
and the reduction of large data sets without any loss of linear arithmetic in terms of decision variables. How-
important information. We have taken into account the ever, because the SPAF-to-OPL translator in Fig. 9 works
data pre-processing in our architecture design (see the without this limitation, it could be easily extended with
‘data pre-processor’ component in Fig. 7); however, the more general applications (e.g., a NLP solver and a CP
current SPOT excludes the implementation of the data solver). Also it is important to note that this paper focuses
pre-processor. on the easy modeling aspects under the assumption that
Another issue is the retrieval and processing of large data an optimization application, best suited to the problem,
because a shop floor obviously generates and uses a large is used to handle the computation. As a future research,
volume of data. Especially, machine monitoring data can we are working on specialized algorithms that can handle
have a huge amount of streaming data content. A con- non-linearity and stochasticity for manufacturing process
ventional database environment has a limitation on man- problems.
aging efficiently the large volume of data that are needed • Difference between SPOT and existing optimization
to perform fast data retrieval and processing for on-time applications: SPOT is a domain-specific DSS designed
or real-time optimization. Thus, it is beneficial to use a for manufacturing engineers; whereas existing optimiza-
123
J Intell Manuf
tion applications such as Optimus, ILOG CPLEX and Acknowledgments The authors thank Abdullah Alrazgan, a graduate
OptQuest are generic optimization tools designed for student from George Mason University, for his effort on SPAF compiler
development. The work represented here was partially funded through
Operations Research (OR) experts who will be devel- cooperative agreement #70NANB12H277 between George Mason Uni-
oping mathematical models with heavily relying on their versity and NIST.
expertise. As we discussed in “Introduction” section, a
Conflict of interest No approval or endorsement of any commer-
key contribution behind SPOT is to raise the level of cial product by the National Institute of Standards and Technology is
abstraction so that manufacturing engineers, as opposed intended or implied. Certain commercial software systems are identi-
to OR experts, would be able to use it. fied in this paper to facilitate understanding. Such identification does
not imply that these software systems are necessarily the best available
for the purpose.
Conclusion
References
This paper presented the development of a DSS specifi-
Aggarwal, A., Singh, H., Kumar, P., & Singh, M. (2008). Optimizing
cally defined to improve sustainability performance in man-
power consumption for CNC turned parts using response surface
ufacturing. The system architecture identified the behavior, methodology and Taguchi’s technique—A comparative analysis.
function and data structures in consideration of the domain- Journal of Materials Processing Technology, 200, 373–384.
specificity, diversity, compatibility, simplicity and reusability Alberti, M., Ciurana, J., Rodriguez, C., & Ozel, T. (2011). Design of
a decision support system for machine tool selection based on
design factors. We anticipate that SPOT will help manufac-
machine characteristics and performance tests. Journal of Intelli-
turers reduce time and effort for enhancing sustainability per- gent Manufacturing, 22, 263–277.
formance without heavily relying on optimization expertise. AMT. (2011). MTConnect standard part 1—Overview and proto-
The modeling approach of this paper can facilitate the col. The Association for Manufacturing Technology. http://www.
mtconnect.org/. Accessed Feb 2014.
development of data analytics, i.e., the science of data Arslan, M., Catay, B., & Budak, E. (2004). A decision support system
analysis to discover new and meaningful information in for machine tool selection. Journal of Manufacturing Technology
data (Kohavi et al. 2002), for improving sustainability per- Management, 15(1), 101–109.
formance in manufacturing. The adoption of the modu- Battaia, O., Dolgui, A., Guschinsky, N., & Levin, G. (2012). A decision
support system for design of mass production machining lines
lar approach by SPAF makes (de-) composition of opti- composed of stations with rotary or mobile table. Robotics and
mization models easier and the model components can Computer-Integrated Manufacturing, 28, 672–680.
be efficiently reused for various analytics purposes. The Bhushan, R. (2013). Optimization of cutting parameters for minimizing
application-neutral environment enables interoperable data power consumption and maximizing tool life during machining of
Al alloy SiC particle composites. Journal of Cleaner Production,
communication in various analytics applications. Further- 39, 242–254.
more, data collection connected with a shop floor will Biegler, L. (2010). Nonlinear programming: Concepts, algorithms, and
embody (near) real-time optimization on a manufacturing applications to chemical processes (Vol. 10). SIAM-Society for
process. For this purpose, we are developing a shop floor data Industrial and Applied Mathematics.
Brodsky, A., Shao, G., & Riddick, F. (2014). Process analytics formal-
interface by the use of MTConnect, which defines a language ism for decision guidance in sustainable manufacturing. Journal
and structure for open communication with machine tools of Intelligent Manufacturing. doi:10.1007/s10845-014-0892-9.
(AMT 2011). Clausen, J. (1999). Branch and bound algorithms—Principles and
Some limitations of this paper are that SPOT only shows examples. University of Copenhagen. http://citeseerx.ist.psu.edu/
viewdoc/download?doi=10.1.1.5.7475&rep=rep1&type=pdf.
the possibility of the data connection between SPOT and a Accessed 19 Nov 2014
shop floor or between SPOT and an external data source. Dean, J., & Ghemawat, S. (2008). MapReduce: Simplified data process-
The data used in the two case studies are given from our ing on large clusters. Communications of the ACM, 51(1), 107–113.
assumption not from an industry data source. Even though Deb, K. (2001). Multi-objective optimization using evolutionary algo-
rithms. New York: Wiley.
the focus of the paper is to introduce the system tool, not real Diaz, N., Helu, M., & Dornfeld, D. (2010). Design and operation
data analytics, but real manufacturing data definitely make it strategies for green machine tool development. In Proceedings of
more interesting. Also SPOT is only integrated with one opti- MTTRF 2010 annual meeting.
mization application at a time. In the future, we will extend Diaz, N., & Dornfeld, D. (2012). Cost and energy consumption opti-
mization of product manufacture in a flexible manufacturing sys-
the simultaneous connectivity toward multiple data sources tem. In Proceedings of the 19th CIRP conference on life cycle
for the use of referential inventory and industry data. We engineering (pp. 411–416).
will integrate SPOT with a distributed data infrastructure for Dimopoulos, C., & Zalzala, A. (2000). Recent developments in evo-
handling a large volume of manufacturing data. We will also lutionary computation for manufacturing optimization: Problems,
solutions, and comparisons. IEEE Transactions on Evolutionary
implement the communication of SPOT with other analytics Computation, 4(2), 93–113.
applications such as diagnostics, prognostics and prediction Euzenat, J., & Shvaiko, P. (2007). Ontology mapping. Heidelberg:
as well as optimization. Springer.
123
J Intell Manuf
Fang, K., Uhan, N., Zhao, F., & Sutherland, J. (2013). Flow shop Madan, J., Mani, M., & Lyons, K. (2013). Characterizing energy con-
scheduling with peak power consumption constraints. Annals of sumption of the injection molding process. In Proceedings of the
Operations Research, 206(1), 115–145. ASME 2013 international manufacturing science and engineering
Frischknecht, R., Jungbluth, N., Althaus, H. J., Doka, G., Dones, R., conference.
Hischier, R., Hellweg, S., Nemecek, T., Rebitzer, G., & Spielmann, OECD. (2009). Sustainable manufacturing and eco-innovation—
M. (2007). Eco-Invent: Overview and methodology. Swiss Centre Framework, practices and measurement. http://www.oecd.org/
for Life Cycle Inventories. http://www.ecoinvent.org/fileadmin/ innovation/inno/43423689.pdf. Organization for Economic Co-
documents/en/01_OverviewAndMethodology.pdf. Accessed Dec operation and Development. Accessed Jan 2014.
2013. OMG. (2007). OMG unified modeling language -superstructure.
Giachetti, R. (1998). A decision support system for material and manu- Object Management Group. http://www.omg.org/spec/UML/2.4.
facturing process selection. Journal of Intelligent Manufacturing, 1/Superstructure/PDF/. Accessed Feb 2014.
9, 265–276. Rao, S. (2009). Engineering optimization: Theory and practice. New
Hanafi, I., Khamlichi, A., Cabrera, F., & Almansa, E. (2012). Opti- York: Wiley.
mization of cutting conditions for sustainable machining of PEEK- Roy, C. (2010). A complete framework for verification, validation, and
CF30 using TiN tools. Journal of Cleaner Production, 33, 1–9. uncertainty quantification in scientific comuting. In Proceedings
IBM. (2012). Introducing IBM ILOG CPLEX Optimization Stu- of 48th AIAA aerospace sciences meeting.
dio V12.2. IBM. http://pic.dhe.ibm.com/infocenter/cosinfoc/ Shao, G., Brodsky, A., Shin, S., & Kim, D. (2014). Decision guidance
v12r2/index.jsp?topic=%2Filog.odms.ide.help%2FContent% methodology for sustainable manufacturing using process analyt-
2FOptimization%2FDocumentation%2FOPL_Studio%2F_ ics formalism. Journal of Intelligent Manufacturing. doi:10.1007/
pubskel%2Fglobals%2Feclipse_and_xplatform%2Fps_opl307. s10845-014-0995-3.
html. Accessed Aug 2013. Shin, S. (2010). Development of a framework for green productivity
Iqbal, A., Zhang, H., Kong, L., & Hussain, G. (2014). A rule-based sys- enhancement and its application to machining system. Ph. D. Dis-
tem for trade-off among energy consumption, tool life and produc- sertation. POSTECH.
tivity in machining process. Journal of Intelligent Manufacturing. Shin, S., Woo, J., & Rachuri, S. (2014). Predictive analytics model for
doi:10.1007/s10845-013-0851-x. power consumption in manufacturing. Procedia CIRP, 15, 153–
Jia, S., Tang, R., & Lv, J. (2014). Machining activity extraction and 158.
energy attributes inheritance method to support intelligent energy Shvachko, K., Kuang, H., Radia, S., & Chansler, R. (2010). The hadoop
estimation of machining process. Journal of Intelligent Manufac- distributed file system. In Proceedings of IEEE mass storage Sys
turing. doi:10.1007/s10845-014-0894-7. & Tech.
Joung, C., Carrell, J., Sakar, P., & Feng, S. (2013). Categorization of Taha, Z., & Rostam, S. (2012). A hybrid fuzzy AHP-PROMETHEE
indicators for sustainable manufacturing. Ecological Indicators, decision support system for machine tool selection in flexible man-
24, 148–157. ufacturing cell. Journal of Intelligent Manufacturing, 23, 2137–
Kellens, K., Dewulf, W., Overcash, M., Hauschild, M., & Duflou, J. 2149.
(2012). Methodology for systematic analysis and improvement of Vinodh, S., Jayakrishna, K., Kumar, V., & Dutta, R. (2014). Develop-
manufacturing unit process life-cycle inventory (UPLCI) CO2PE! ment of decision support system for sustainability evaluation: A
Initiative part1: Methodology description. International Journal case study. Clean Technologies and Environmental Policy, 16(1),
of Life Cycle Assessment, 17, 69–78. 163–174.
Kohavi, R., Rothleder, N., & Simoudis, E. (2002). Emerging trends in Vitanov, V., Tjahjono, B., & Marghalany, I. (2007). A decision sup-
business analytics. Communications of the ACM, 45(8), 45–48. port tool to facilitate the design of cellular manufacturing layouts.
Kotsiantis, S., Kanellopoulos, D., & Pintelas, P. (2006). Data pre- Computers & Industrial Engineering, 52, 380–403.
processing for supervised leaning. International Journal of Com- Wazed, M., Ahmed, S., & Yusoff, N. (2009). Uncertainty factors in
puter Science, 1(2), 111–117. real manufacturing environment. Australian Journal of Basic and
Kumaraguru, S., Rachuri, S., & Lechevalier, D. (2014). Faceted classi- Applied Sciences, 3(2), 342–351.
fication of manufacturing processes for sustainability performance Winter, M., Li, W., Kara, S., & Herrmann, C. (2013). Determining opti-
evaluation. The International Journal of Advanced Manufacturing mal process parameters to increase the eco-efficiency of grinding
Technology, 75(9–12), 1309–1320. processes. Journal of Cleaner Production, 66(1), 644–654.
Kuram, E., Ozcelik, B., Bayramoglu, M., Demirbas, E., & Simsek, B. Yam, R., Tse, P., Li, L., & Tu, P. (2001). Intelligent predictive decision
(2013). Optimization of cutting fluids and cutting parameters dur- support system for condition-based maintenance. International
ing end milling by using D-optimal design of experiments. Journal Journal of Advanced Manufacturing Technology, 17, 383–391.
of Cleaner Production, 42, 159–166. Yurdakul, M., Arslan, E., Tansel, Y., & Turkbas, O. (2014). A decision
Le, C., & Pang, C. (2013). An energy data-driven decision support sys- support system for selection of net-shape primary manufacturing
tem for high-performance manufacturing industries. International processes. International Journal of Production Research, 52(5),
Journal of Automation and Logistics, 1(1), 61–79. 1528–1541.
Lei, Q., Wang, H., & Song, Y. (2014). Hybrid knowledge model of Zeballos, L. (2010). A constraint programming approach to tool alloca-
process planning and its green extension. Journal of Intelligent tion and production scheduling in flexible manufacturing systems.
Manufacturing. doi:10.1007/s10845-014-0928-1. Robotics and Computer-Integrated Manufacturing, 26, 725–743.
Leng, J., Jiang, P., & Ding, K. (2014). Implementing of a three-phase Zhu, Q., Lujia, F., Mayyas, A., Omar, M., Al-Hammadi, Y., & Saleh, S.
integrated decision support model for parts machining outsourcing. (2014). Production energy optimization using low dynamic pro-
International Journal of Production Research, 52(12), 3614–3636. gramming, a decision support tool for sustainable manufactur-
Li, C., Tang, Y., Cui, L., & Li, P. (2013a). A quantitative approach ing. Journal of Cleaner Production. doi:10.1016/j.jclepro.2014.
to analyze carbon emissions of CNC-based machining systems. 02.066.
Journal of Intelligent Manufacturing.
Li, L., Liu, F., Chen, B., & Li, C. (2013b). Multi-objective optimiza-
tion of cutting parameters in sculptured parts machining based on
neural network. Journal of Intelligent Manufacturing.
123