Abstract
The resource constrained portfolio scheduling problem (RCPoSP), in which orders are grouped in portfolios, is proposed in this study. In the RCPoSP the objective is to deliver all orders in the portfolio at the same time after processing. This problem finds many applications in industrial services, manufacturing companies and, where all items (products, services, items etc.) ordered by the customer have to be delivered at the same time in one lot. The goal is to reduce the delivery costs and/or that all elements of the delivery have the same priority, etc. The presented problem also concerns the scheduling of new orders in project portfolios and/or a new project portfolio etc. The minimizations of makespan and/or resource needs for the portfolio are also discussed. The authors present a reference model for the RCPoSP and an intelligent framework for modeling and solving the modeled problem based on the original hybrid approach. The opportunity to ask questions, receive answers as well as data representation in the form of facts constitute an invaluable intelligent support to users utilizing this framework. The goal is to provide an intelligent hybrid framework for stating and solving constraint satisfaction or optimization of RCPoSPs. The calculation examples illustrate the capabilities and computational efficiency of the proposed framework.
Keywords
Introduction
Considering fierce competition and fast-changing customer needs, making swift and, if possible, optimal business decisions is a requirement. This requirement is particularly important for SMEs (small and medium enterprises), in which even a single incorrect decision may result in unacceptable delays, lack of necessary resources or financial loss.
The optimal allocation of constrained resources to orders, timely execution of orders, profit maximization, etc. are challenges that every manager has to face. This is especially challenging when simultaneously dealing with dynamic business-related events (e.g. new orders, new products, price changes etc.) and technical and technological difficulties (breakdowns, bottlenecks etc.). The resolution of this problem has broad applications within scheduling and resource allocation and is widely covered and classified in the literature [1]. Many methods have been proposed for solving resource assignment and scheduling problems exactly as mathematical programming, dynamic programming, etc., and approximately as evolutionary algorithms, tabu search, ant colony and dedicated heuristics. Likewise commercial advanced planning and scheduling software applications have been developed, such as SAP APS, Asprova by PMC, D-Opt by Greycon, etc.
Several factors make the above solutions unfit for the needs of SMEs. Firstly, SMEs cannot afford those mostly large and expensive modules of systems like SAP APS. Secondly, these systems are not intuitive and require trained operators and well-prepared users. But most importantly, these systems are intended for solving classic scheduling problems in job-shop, flow-shop or project environments. Whereas the models of organization, production and services used in SMEs are frequently modified, short term opportunities dictate decisions, technologies are matched to the currently available resources and so on.
In the authors’ opinion, the best form of decision support in SME is building an interactive intelligent decision support system that allows managers to formulate simple questions and obtain a response in acceptable time [2]. Examples of questions that could be asked by managers using such a system include (but are not limited to): Can the order be completed before a given deadline? Is it possible to undertake new order the under given (time-constrained) resources availability while guaranteeing disturbance-free execution of the already executed orders? What is the minimum makespan? etc.
This paper addresses a practical problem of scheduling and resource allocation related to the work group. The problem is termed a resource-constrained portfolio scheduling problem (RCPoSP). In RCPoSP orders enter at specific moments of time in groups (portfolio) and require simultaneous completion for the entire group of orders. For RCPoSP, no process flow structure (such as: job-shop, flow-shop, project, etc.) is predetermined.
The primary contribution of the presented study is the original reference model for the RCPoSP, its transformation and the intelligent framework for the implementation of models of this class, which allows users to ask questions. The proposed RCPoSP reference model varies substantially from other resource-constrained project scheduling problem (RCPSP) models known from the literature (Section 2) in that it enables order grouping, handling orders not only one at a time, combining resources into resource sets, simultaneous completion of all orders in the group, and elimination of intervals between operations within one order. The proposed framework relies on the proprietary hybridization of two environments, mathematical programming (MP) and constraint logic programming (CLP), and uses the fact-based representation of the problem.
Presented solution allows various methods of execution (scenarios), which may vary in both the resources and technology used (routing problem). Additionally, it allows one to take into account the dynamics of appearing orders, resources, portfolios etc. There are constraints on different types of resources.
Literature review
A vast part of the literature devoted to scheduling and resource allocation problems addresses the (single-project) RCPSP [3]. Quite a few extensions on the classical RCPSP have been examined to make the problem formulation more practical and useful. A number of studies on resource-constrained multi-project scheduling problems (RCMPSP) [4] have been reported. In general two approaches are used when dealing with multi-project environments: (a) a single-project approach using dummy activities and precedence graphs to combine the projects into a single large project, thereby reducing the RCMPSP to a RCPSP with a single critical path, or (b) a multi-project approach, maintaining the RCMPSP and a separate critical path per project. Activities can be executed in one of many possible modes in both RCPSP and in RCMPSP, with each mode having different resource requirements resources. No alternative scenarios exist for the execution of individual projects [3, 4].
Frequently, both RCPSPs and RCMPSPs are static issues with different objective functions (minimize makespan, minimize total project delay, lateness, or tardiness, minimize average project delay, minimize total lateness or lateness penalty etc.). Due dates for the completion of individual projects in the RCMPSP are specified for each individual project [4]. An exhaustive literature search for RCMPSPs did not reveal any requirement for simultaneous completion date (deadline) for the entire group of projects.
This condition was however, included in [5], but concerned the flexible flow scheduling problem (FFSP) instead. Unfortunately, FFSP affects only one process flow structure: the flow-shop [6]. This limits its use in many practical situations. In FFSPs and their models alternative execution of a routing problem is impossible and the only possibility is to use parallel machines.
The proposed FFSP models have different objective functions: minimization of makespan [7], minimization of the average flow time, minimization of a dual-criteria objective function [5] etc. These models are also static models related to specific predefined groups of orders/jobs.
Problem description
Nevertheless, the idea of RCPoSP was inspired by FFSP and in particular by using the process of preparing and serving a meal in a restaurant [5] as an analogy for the problem nature. Guests enter the restaurant in different groups at different moments. Each group chooses a table and all orders of the group members are taken simultaneously. The process of preparing meals contains a specific number of steps: preparing ingredients, cooking (roasting, baking, boiling, frying etc.), preparation of dishes and serving. Every meal passes through part of or all the steps. However, some meal items should be processed by a specific resource in one or more steps. The process time in each stage as well as the eligible resource to process the meal are fixed for a specific kind of meal. After the accomplishment of processes, all meal items ordered by a group are served simultaneously.
The proposed research problem (RCPoSP) finds many applications in industrial services and manufacturing companies, including but not limited to food, ceramic tile, textile production industries, distributions, supply chain, manufacturing of complex devices, assembling but also in the rescue from disasters, restaurants services, software engineering etc. and everywhere, where all items (products, services, items etc.) ordered by the customer should be delivered at the same time in one package that reduce the delivery costs and/or have the same priority.
Given system (within production, service, etc.) which can be separated into two areas; the
so-called Back-Office (production plant, manufacturing department, set of CNC machine tools,
service infrastructure/facilities, etc.) involved with manufacturing and developing
processes, and the Front-Office (order placement points, assembly stations, packing
stations, forwarding points, shipping points etc.) to support customer order fulfillment and
delivery (Fig. 1). This system is
defined by a set K = {k1,
. . . k
i
,
. . . k
LK
} of resource types, where
k
i
is the i–th type and LK
is the number of resource types in the system. These resources are limited and
d
ki
is the available quantity of resource
k
i
. The system produces products
P = {p1,
. . . p
i
,
. . . p
LP
} (a product means a real product
or service), where p
i
is the i–th product type
and LP is the number of the product types. The performance of the system is
considered in the given time horizon G = {g1,
. . . , g
i
,
. . . g
LG
} where
g
i
is the i-th period of time and
LG is the number of the periods. The system contains order placement
points A = {a1, . . . ,
a
i
,
. . . a
LA
}, where
a
i
is the i-th point and
LA is the number of order placement points. At the defined time instants
v
i
(where
v
i
is the i-th time period from set
V = {v1, . . . ,
v
i
,
. . . v
LV
} and LV is the
number of planning periods, (e.g. v3 = 23 means that the third
order set arrived at thetwenty-third execution period g = 23) order
portfolios

Scheme for scheduling a portfolio of orders (E i ) for ordering periods (v i ).
The following main assumptions are presupposed: the order can be completed before a given
deadline; all portfolios
E
v
i
will be
executed; the order
all order from the set the resources that belong to there are no gaps
(no idle-time) between the operations of the order; resources from
Furthermore, one additional type of resource – universal resource is introduced (packers, quality control staff, paramedics) and rzg is the limit to this resource.
These assumptions take into account the cases when some orders

Example of possible scenarios for portfolio
The presented system provides an option of simultaneous execution of one order according to several scenarios, provided that it is not a unitary/unary order.
Which scenario should one choose? Will the portfolio be executed before the deadline? What resources will be needed and when? Is it possible to execute a new portfolio in a given deadline etc.? - all managers want to know the answers to these questions. Which product can I choose with guaranteed delivery time? Which product has the shortest delivery time? etc. – these are the questions could be asked by users.
The questions relate to both back office and front office areas and may concern situations, which require forward scheduling (F) - customer order processing, failure, accident, etc. or backward scheduling (B) - reservations, planned repairs, processing planned orders, etc. Table 1 summarizes examples of possible questions that can be asked in the presented version of the framework (Section 5).
Examples of possible questions for RCPoSP
The formal model for the RCPoSP is constructed by introducing appropriate decision
variables and constraints. The decision variables define the number of orders executed
according to a given scenario
ZKa,z, starting times of the
operation of the given order
Ba,z,o
allocation of resources for the operation
(Za,z,o,k,g,
Zoa,z,o,k,g),
etc. Table A1 in Appendix A shows a full set of the decision variables
together with the description and symbols used. Each constraint specifies the admissible
values for a group of decision variables. Constraints (A1) and (A2) define scenarios
A hybrid approach to modelingand solving RCPoSP
Constraints are a natural and declarative way of expressing our needs. Very often, they are also our intermediary in interaction with a computer. In practice, they can define a set of admissible decisions or lack thereof. They are our intelligent assistant to express our needs or preferences. Their solving environments can than decide how best satisfy them [8]. The most interesting solving environments include declarative programming, which additionally support solving CSPs (Constraint Satisfaction Problems). An instance of a CSP (X,C,D) involves a set of variables X = {X1, X2, . . . , X n } a domain D i for each variable and a set of constraints C = {C1, C&2, . . . , C q } s.t. C i ⊆ D1xD2x . . . xD n which define feasible combinations of domain values. The solution is the assignment of domain values to all variables, which is consistent with all imposed constraints. CSPs on finite domains are usually solved using a form of search. The most used methods and algorithms are local search, different variants of backtracking and the most important one constraint propagation which narrows the domains of decision variables. A general search algorithm for solving a CSP is presented in [9]. In the CSP a set of constraints defines the potential space of feasible solutions. Its shape and size depend on the values of individual parameters and input quantities. Based on the CSP constraint logic programming (CLP) paradigm was developed [9, 10]. According to many researchers, the CLP has the power to tackle difficult practical combinatorial problems which stretch conventional methods beyond their breaking points.
In CLP we state the problem requirements; we do not need to specify how to meet these requirements. Constraints do not require us to envision how the information is to be used. CLP programs are built from valid Prolog-based logic data-structures. A program is a collection of predicates, and a predicate is a collection of clauses. The idea of a clause is to define that something is true. The simplest form of a clause is the fact. For example, the following two are facts: technology (product_id, machine_id, execution_time). vehicle (vehicle_id, capacity, type, cost).
The reference model data layer consists of a set of facts, the structure and interrelations of which are shown in Fig. 3 and Appendix B. The reference model parameters (Table A1) constitute the attributes of individual facts. Selected attributes, marked with #, enable establishing relations between the facts.

A set of facts and relations between them for the reference model.
The reference model is presented as a set of CSP s that contain adequate sets of constraints, questions, etc. This manner of modeling is flexible and can be easily expanded and implemented in CLP. Together with the set of facts, it forms the basis for building intelligent tools to support decision makers.
Figure 4a shows a graphical visualization of the reference model concept as a CSP R , composed of two subproblems CSP1 and CSP2. CSP1 refers to the back-office (e.g. production, service, etc.) and to the processes of preparing the product. CSP2 includes the front-office area (restaurant dining room, order placement and check-out points, etc) and refers to the processes of ordering and delivery. Adding new constraints and variables can further develop either of these subproblems. Both subproblems are connected through a suitable set of variables and constraints (Figs. 4a and 4b), contained in both CSP1 and CSP2 (CSP1∩2).

a) Reference model for RCPoSP as a CSP R . b) Sub-problems CSP for RCPoSP (Decision variables, Constraints-Appendix A).
The main weakness of the search algorithms for solving CSPs is process of distribute the variables (process in which decision variables are to be considered to be specified as well as the order in which the values are assigned to the variable on backtracking) [9, 10]. If there exist constraints that bind a larger number of decision variables (more than 2), then the distribution of variables makes the entire algorithm non-effective. Elimination of the variable distribution mechanism while leaving the mechanism of constraint propagation has become a key direction of the authors’ research. As a result, a hybrid approach is proposed to combine MP and CLP environments and enable transformation of the problem [11, 12]. The introduction of transformation as a key component of the hybrid approach and withdrawal from distribution of variables in the CLP, clearly distinguishes this approach from those known from literature [13, 14]. Hybrid approach can be used wherever: (a) a problem can be represented by constraints; (b) data can be written as set of facts, (c) there are exclusions and unacceptable allocations, for example resources, etc.
Problem transformation is central to the proposed hybrid approach. Its use significantly enhances the effectiveness of the integrated CLP and MP environments. The methodology of the transformation has been developed based on earlier studies of CLP and MP hybridization, within which transformations were performed for specific logistic cases [11, 15]. Generally, the transformation in this approach is the element that allows eliminating infeasible points in the decision variables space prior to defining the values of the decision variables which results from fact-based representation.
Moreover, in the case of RCPoSP, the transformation is associated with the change in problem representation from the classical, operation-based representation to the resource-based one, where the operation index is needless and infeasible.
This type of transformation is possible for all scheduling and resource allocation problems that take resources into account and do not accept time gaps between operations. In the new representation of the problem, operation indices are removed from the decision variables, parameters etc. as unacceptable. Examples of transformations indices are shown in Fig. 5. After transformation, a new set of decision variables is obtained. The schema of index and decision variables transformation is shown in Fig. 5. Table A3 in Appendix A summarizes all decision variables before and after transformation.

Examples of decision variables and index transformation.
In general, the transformation of RCPoSP results in: (a) a reduction in the total number of decision variables attained through aggregation and elimination; (b)a change in the nature of the variables; (c) a reduction in the number and complexity of constraints;(d) a reduction of the solution search time; and (e) an extension of the scope of constraint propagation.
The generalized transformation algorithm was developed based on the elimination of infeasible combinations of decision variable indices. The algorithm generalizes the methods for the change of problem representation in respect of the specific cases studied in [11, 15] and in this paper. The algorithm together with an analysis of its properties and computational complexity will be published in future work.
The novel idea for the application of the hybrid approach to RCPoSP in the form of hybrid intelligent framework, based on the reference model and the set of questions, is shown in Fig. 6.

Hybrid framework for decision support for RCPoSP.
In the first stage, dedicated decision model in the form of a CSPR is built using the reference model, set of facts and the questions (Table 1). The resultant dedicated model is then initially solved using constraint propagation to obtain the narrowing of domains of the decision variables. In the next step, the model is transformed. After transformation, the model is solved using again the propagation of constraints. The obtained domain solution is the basis for the generation of the MILPT (Transformed Mixed Integer Linear Programing) model in the MP environment. In the last stage, the linear model is solved using mathematical programming methods[16].
The high effectiveness of the hybrid approach results from the difference in treatment of constraints in the two environments, by applying twice the constraint propagation and from the possibility of problem transformation, which reduces the number of variables and constraints.
Framework implementation was performed according to the chart in Fig. 6. From a variety of tools for the implementation of the CLP the ECL i PS e software [10] is selected. ECL i PS e is an open-source software system for cost-effective development and deployment of constraint programming applications. Gurobi [17] is used for the implementation of MILP as it is a powerful tool for building and solving mathematical optimization models.
An original iterative algorithm [18] was used, which ensures that the decision and/or optimization models can be activated in subsequent periods g and in any period of resource reservation, indicating current availability of the resources.
The framework presented in this paper can be a basis for building interactive intelligent decision support systems for RCPoSP or other scheduling and resource allocation problems.
In order to verify and evaluate the proposed approach and hybrid framework, many numerical experiments were performed for the illustrative example. The experiments were on one hand designed to assess the proposed solutions in terms of functionality and decision support range and the effectiveness of the proposed implementation with a focus on optimization issues on the other.
In the first phase, all the experiments relate to the system with ten points (tables,
ordering points etc.) (i = 1 . .10), ten order types
(j = 1 . .10), eight resource types (k = 1 . .8), thirty
time periods (g = 1 . .30) and fifteen orders. Orders are placed in 6
portfolios
The answer to question Q1 (What is the minimum execution time (makespan) for portfolios of orders entering in periods v1 = 1, v2 = 3, v3 = 6, v4 = 8?) is Tpk = 11 (makespan = 10) for period v1, Tpk = 6 (makespan = 3) for period v2, Tpk = 10 (makespan = 4) for period v3, and Tpk = 12 (makespan = 4) for period v4. Figure 8a shows the implementation schedule of all portfolios (Appendix B) for this example while minimizing the makespan (Q1). The resource usage from the answer to Q1 is shown in Figs. 7a and 7b.

a) Gantt chart for the answer to question Q1 (portfolios E enter in v1 = 1, v2 = 3, v3 = 6, v4 = 8, zk-method of order execution in the portfolio)-optimal makespan. b) Gantt chart for the answer to question Q1 (resource usage).
The answer to question Q2 (Is it possible to execute new portfolios of orders that enter in
the coming periods v within a specified period T?) for
portfolios from ordering period v1 = 1 is shown in Table 2 and Figs. 8 and 9a shows the Gantt chart for the answer to question Q4
(How to realize portfolios of orders
Answer to question Q2

Gantt chart for the answer to question Q2.

a) The top chart shows the answer to question Q1 while the chart below shows the answer to question Q4. b) The top chart shows that the use of the resource k l when answering to question Q1 while the chart below shows the use of the resource k1 when answering the question Q4.
The use of the resource k l for Q4 is presented in Fig. 9b. Both charts were compared with analogous charts obtained from the answer to Q1. The answers to question Q5 (Is it possible to realize the new portfolio of orders from the period v with existing resources at specified period T?) are shown in Tables 4, 5 and Figs. 10a.–10c. The answers to questions Q6 and Q7 are variants of and / or subsets answers to questions Q2 and Q5. The results confirm the flexibility and functionality of the proposed approach, in which all types of questions can be formulated (general, wh-questions, optimization questions, etc.).
Answer to question Q3
The possibility of execution at time T portfolios of orders from the period of v2 = 3, (unchanged execution of the portfolios from period v1 = 1)
The possibility of execution at time T portfolios of orders from the period of v3 = 6, (unchanged execution of the portfolios from period v1 = 1 and v2 = 3)

a) Gantt chart for the answer to question Q5 (entering portfolios from v2 = 3 without change portfolios from v1. b) Gantt chart for the answer to question Q5 (entering portfolio from v3 = 6). c) Gantt chart for the answer to queston Q5 (entering portfolio from v4 = 8 without change portfolios from v1 = 1, v2 = 3 and v3 = 6).
Due to the lack of benchmark data for the RCPoSP, the effectiveness of the hybrid approach was investigated using the question Q1 (What is the minimum lead time (makespan) for the portfolios of orders arriving in period v at point a?) and question Q3 (What is the minimum number of universal resources (waiters, packers) needed to execute portfolio orders within T? see results in Table 3) the most complex questions in numerical sense from Table 1. Q1 is a classical computation-intense question in resource allocation and scheduling problems and is classified as NP-hard [6].
The hybrid approach was subject to comparative analysis relative to its individual components (CLP and MP) in terms of decision variables, constraints and response time to Q1 and Q3.
The optimization models answering to Q1 and Q3 were generated for the same data instances and solved according to three scenarios:
The detailed results for multiple instances of data that differ in number of orders in the portfolios are presented in Table 6. The application of scenarios S3 allowed us to find the most effective solution in the shortest time: 30 to 100 times faster than in scenario S1. Scenario S2 did not find the optimal or admissible solution within an acceptable time. The decision variables and constraints were reduced in number by a factor of 12 and 10, respectively.
The results of answers to the questions Q1and Q3 implemented by variants
V-the number of decision variables, C- the number of constraints, T-time of finding solution (in seconds), *the calculation was stopped after 1200s, **feasible solution, ***CLP does not provide this information.
Thus the application of the proposed hybrid approach and implementation framework will result in: (a) a significant reduction in search time and (b) the possibility of solving larger problems within the acceptable period of time (more than three times larger in terms of number of orders).
In future experiments, the effectiveness of the hybrid approach and implementation platform will be tested in the context of JSSPs (Job-Shop Scheduling Problems), FFSSPs (Flexible Flow-Shop Scheduling Problems), RCPSP (Resource Constrained Project Scheduling Problems) and these will act as instances of the reference model for RCPoSP and other scheduling problems [19].
The reference model for the RCPoSP considered here could be the basis for the generation of multiple decision and optimization models for group work of any organizational scheme (job-shop, flow-shop, flexible flow-shop, project, multi-project etc.). The hybrid approach applied to the generation and solution of these models show considerably higher effectiveness than each of its components alone (Table 6).
It is particularly important that the proposed solutions are highly flexible in terms of modeling and finding the solution and allow formulating and asking questions to the system in a natural way, which is a big convenience for both managers and customers. In addition, the reference model and the hybrid approach can be applied to similar problems in resource allocation and task scheduling, such as JSSP, FFSSP, RCPSP, etc. The only changes that will be necessary are to include data instances and some of the reference model constraints. A quite innovative approach is to propose a generation of dedicated optimization / decision-making models based on the reference model, questions and specific data instances (facts). Such models are most suited to the specific real problems in terms of both structure and parameters.
Further work will focus on indicating the possibility of generating decision and optimization models for other task scheduling and resource assignment models using the reference model and solving them using the hybrid framework. Other objectives will include the expansion of the number of questions to be asked by managers and customers, the introduction of elements of fuzzy logic [20, 21], to the reference model and soft constraints [22] to the hybrid platform, and finally a benchmark study [23] for the JSSP, FFSSP and RCPSP. It is planned to expand the RCPoSP model by order quantity distribution[24].
Footnotes
Appendix A Reference model for RCPoSP
The schema of transformation (comparison of decision variables before and after transformation)- gray marked items that have been transformed
|
|
|||
| Reference | ReferenceT | Reference | ReferenceT |
| Tkp a | Tkp a | Xo a,z,o,k,g | Xo a,z,k,g |
| Zk a,z | Zk a,z | Y a,z,o,k,g | Y a,z,k,g |
| Xzk a,z | Xz a,z | W a,g | W a,g |
| B a,z,o | - - - - | S a,z,o,k | S a,z,k |
| X a,z,o,k,g | X a,z,k,g | ||
Appendix B. Data for numerical examples
number_of_periods(30). number_of_periods_ orders(4). number_of_secent_type(4).
Orders for questions Q1..Q7: or(1,1,1,2). or(1,2,1,1). or(1,3,1,2). or(3,4,1,1). or(3,5,1,1). or(5,7,3,1). or(5,8,3,1). or(5,9,3,2). or(6,10,3,1). or(6,8,3,1). or(7,1,6,2). or(7,2,6,2). or(7,9,6,2). or(3,10,8,2). or(3,2,8,2).
Orders for question Q1,Q3 (efficiency research – Table 7): or(1,1,1,2). or(1,2,1,1). or(1,3,1,1). or(1,4,1,1). or(1,5,1,1). or(2,6,1,1). or(2,7,1,1). or(2,8,1,1). or(2,9,1,1). or(2,10,1,2). or(3,3,1,1). or(3,4,1,2). or(3,5,1,1). or(4,6,1,1). or(4,7,1,1). or(4,8,1,1). or(5,9,1,1). or(5,10,1,1). or(5,7,1,1). or(5,2,1,1). or(6,10,1,1). or(6,9,1,1). or(6,8,1,1). or(6,7,1,1). or(6,6,1,1). or(7,5,1,1). or(7,4,1,1). or(7,3,1,1). or(7,2,1,1). or(7,1,1,1). or(1,6,1,1). or(2,1,1,1). or(3,6,1,1). or(4,1,1,1). or(5,3,1,1). or(6,1,1,1). or(7,10,1,1). or(1,7,1,1). or(2,2,1,1). or(3,7,1,1). or(1,10,1,1). or(2,3,1,1). or(3,8,1,1). or(4,2,1,1). or(5,4,1,1). or(6,2,1,1). or(7,9,1,1). or(5,1,1,1). or(6,3,1,1). or(7,8,1,1).
