Thursday, February 18, 2010

Incoplan Interface


1. Introduction


Incoplan is a add-on software to any ERP system. Hence it is absolutely necessary to exchange the data from the ERP database to the Incotec’s database to avoid any duplicate data entry. It is also interesting to observe that the material flow through the organization is govern and controlled mainly by manufacturing activities. Naturally, when a function is a central activity with lot of surrounding factors, it is obvious to have deviations, critical decision points and inter-dependencies. This leads to specific data requirement for Incoplan which may not be available in ERP but may be available in some electronic form like Excel sheets, CSV files or Flat files. To avoid re-entry of the data in electronic form, Incoplan has its own interface called as IncoInteface. This Interface takes care of data exchange from ERP to Incoplan.

2. How Data transfer happens

As the database of ERP can be different than database of Incoplan we need to extract the data from ERP to Incoplan Database.


Both way exchange of data is possible. It means the interface can extract the data from the client ERP and insert the same in Incoplan database as well as it can post back the data to theb client ERP database. Interface acts as an independent entity controlling data traffic.

2.1. Ways of Data Transfer

Various possibilities of data transfer can be

i. Direct connection to ERP database by Interface
ii. Creating view tables in ERP database and accessing this data by Interface.
iii. Using flat files, CSV, XML files generated by ERP system as input to Interface.
iv. Using standard data connection methods of ERP system.
v. Other

3. Data transfer frequency

The data transfer can be automatic as well as manual. In case of manual data transfer, it is very much in control of the user to define the way of transferring the data. This method is very useful at the start of the implementation as it gives control over the actual data transfer. After some days of implementation the data transfer can shift to automatic mode. But it is very much required that the user should go through the log files generated by the interface.
Depending upon the volume of data to be transferred and the frequency of data updation on the shop floor, the frequency of data transfer from ERP to Incoplan is decided.
The data transferred is normally divided into different modes such as Static and Dynamic. Every mode has its own function. Based on this function data transfer frequency can be decided.


3.1. Static Data

The data such as parts, Bill of Material [BOM], Resource information, routings, which are not subjected to frequent daily changes is called as a static data. This data transfer normally takes more time. Frequency of updation of this data can be daily. This mode can be automatically activated on the timings specified.

3.2. Dynamic Data

The data such as sales order, production order, stock, etc which happens on daily basis is called as a dynamic data. This data transfer normally takes little time. Dynamic data can be updated after the updation of production data. In normal scenario production data is updated once after the shift. Hence the frequency of updation of dynamic data can be after every 8 hours.

Capturing progress of the production is also a vital data transfer activity. We call it as progress updation. Based on the customer requirement this activity can be almost in the form of online data transfer.

4. Data Required for Incoplan

Incoplan fetches data from ERP and stores the same in Incoplan Database. Based on various Incoplan modules following data are required.

Parts
Domain, Family, Sub-Family of Parts
Unit of Measure
Resource details
Bill of Material [BOM]
Routing including part requirement
Sales order [In case of Work Order Generator]
Production orders [After successful MRP run]
Stock


5. ERP – Is type of ERP a limitation for Interface to fetch data.


Incoplan’s interface can get the data from any ERP. There is no limitation on the same. The only requirement is that a data connection to ERP database should be made available. In some cases it is not possible to provide the data connection then in that case, ERP should provide the data in the form of csv or xml files.

Interface has also a capability to fetch data from Excel files. So if you have some data available in such format then Interface can fetch such data.

6. Role of Client in Interface design


Client plays important role in interface design. He has to share the information and the method in which they understand the information. It is very crucial for Incoplan to understand this so as to make it a seamless integration with the ERP. Client is also required to provide data which is required for Incoplan. The data requirement is already explained above. Client should give legitimate access to the ERP data and the data which is available in some other electronic format.

7. Interface

Some screen shots explaining the functionality of Interface are given below.



Interface is currently fetching data from ERP database and the progress of various import tasks are shown on interface screen.


It is possible to make various settings in the setting tab. You can select the path/method of source ERP data and also Incoplan destination data. Also it is possible to define a sequence in which you want to import tables/files from the source data.


Data error log is generated. This error log helps to correct the existing records from ERP as well as records the start time end time of interface.

Monday, August 10, 2009

Advantages of Incoplan over Project Management Software - Last Part


Advantages of Incoplan over Project Management Software can be briefly explained as follows:


Resource selection - Project Management Software deals with “What resources are needed?” It can swiftly reduce and increase resources. e.g. machines, tools etc. whereas Incoplan deals with “How to best Optimize the resources?”. As the resources usually remain constant in an industrial setup, scaling them may not happen frequently. Here, existing resources need to be utilized to their fullest capacity. Incoplan being, a BI tool, has an in-built intelligence which supports automatic allocation of resources.

Schedule Changes- Project Management Software works on basis of work breakdown of each project i.e. tasks. Hence to get a master schedule, multiple projects need to be manually selected and put together. This can be tedious. Further in case of change in the schedule, this would need to be done at task levels. This will consume a great deal of time effort and is practically impossible for the planner to take action in run-time situation. On the other hand, Incoplan works on the basis of work orders. Work orders indicate when to start the manufacturing process and are linked to the bill of material. Hence this process is quicker and gets almost automated. Automatic progress updating is seamless as Incoplan links up with all leading ERP solutions.

Setup and run time - Project Management Software does not have the function for setup and run time. This needs to be done manually for each task and then added individually. Incoplan has the in-built provision for adding setup time and run-time.

Virtual Stock/Scrap Tracking - Project Management Software does not have the facility to track stock / scrap, while Incoplan has an inherent capability of tracking the same virtually.

Priority changes
- In Project Management Software the priority system needs to work at task level. Each task in the project needs to be adjusted manually. This becomes time consuming and (a hassle) / (tedious) to handle. Also PMS does not have the option of applying alternate resources and routing. In Incoplan the priorities can be handled at work order level. Incoplan can manage both alternate resources and routings, making it the more efficient of the two.

ERP connectivity
- Project Management Software can’t link with MRP or PP module. Incoplan can connect to ERP / MES solution through its own interface seamlessly.

Progress Updating - Project Management Software needs to be updated manually for progress. Incoplan can fetch data from ERP directly.

Measurable benefits of Incoplan
  • On-time Deliveries as scheduled
  • Efficient production process
  • Minimizes downtime
  • Maximizes utilization of resources
  • Lowers manufacturing cost
  • Reduces bottle-necks, setup & lead time
  • Optimizes Inventory Management
To summarize, it is observed that using a scheduling software like Incoplan, which is specially designed for all industries and service providers, can result in well-informed and better decision-making process and it significantly improves customer delight.



Tuesday, August 4, 2009

Advantages of Incoplan over Project Management Software - Part I


Incoplan is an Advanced production planning and scheduling software. Incoplan can be effectively used to increase production uptime, improve shop floor predictability and reduce delivery times.

Incoplan – Advanced Production Scheduling Software Solution:



Scheduling is an important tool for all industries and service providers. The purpose of scheduling is to minimize the production time and costs, and optimize the resource occupancy.

Incoplan helps the planner with authoritative graphical interface. This interface enables to optimize real-time work loads in various stages of production. It is mainly used in setups like metal, cosmetics, food and beverages, packaging, tyres, electronics, and in similar areas.

Project Management Software (PMS):


PMS helps to plan and control resources. It calculates cost and lines up tasks to meet the necessities of particular projects. It is basically meant for planning activities to be done on projects like ship building, bridges, aircrafts, defense


Typical terminology used in industrial setup compared to project based environment:



Monday, July 27, 2009

Material Constraint Theory - Last Part


SOLUTION BY LINEAR PROGRAMMING

MANY TO MANY ALLOCATION PROBLEM





We can try to formulate the linear problem for this solution with different objective functions.

For current example, we can consider following three objective functions:
a. Maximize Profit and/or Priority
b. Maximize Total production Quantity
c. Minimize Total Delay [Cost / Time]


Problem Definition: • Parts to be produced are P1, P2 and P3. These are produced by operation 40, 50 and 60 respectively. • Illustration above shows the part requirement to produce each unit of these parts. For example, to produce one unit of P1, it requires one unit of Q10 and two units of Q20. • The available stock of Q10, Q20 and Q30 is 20, 35 and 29 respectively. • The need is to determine the quantity of parts P1, P2 and P3 to be produced in order to satisfy the stock constraint and achieve the objective function defined.

(I) MAXIMIZE PROFIT / PRIORITY




(II) MAXIMIZE TOTAL PRODUCTION QUANTITY



(III) MINIMIZE TOTAL DELAY [TIME/COST]





ONE TO MANY ALLOCATION PROBLEM

(I) MAXIMIZE PROFIT / PRIORITY



(II) MAXIMIZE TOTAL PRODUCTION QUANTITY


(III) MINIMIZE TOTAL DELAY [TIME/COST]

MANY TO ONE ALLOCATION PROBLEM


Let us take only one case here as this is simpler problem environment compare to other two. We can consider here the problem of maximizing total production quantity.


All above section gives a good overview of the problem related to stock limitation / constraints. It is logical to understand the problem first, domain requirements second and then apply the most practical solution, even I sometime(s) it is not the optimal solution.



Monday, July 20, 2009

Material Constraint Theory Part VI




III. ALLOCATION OF MATERIAL - “MANY TO MANY ALLOCATION”

Can we treat above problem as three dependent problems…..???
in two different manner …..

TYPE I : One to Many assignment :

Number of problems is equal to number of current operations.

TYPE II : Many to one assignment :

Number of problems is equal to number of successor operations

Let us analyze both the situation.


TYPE I : One to Many assignment :
Number of problems is equal to number of current operations.

Problem one:

Problem two:
Problem three:
TYPE II: One to Many assignment: Number of problems is equal to number of successor operations.


Problem one:



Problem two:





Problem three:



The next question(s) comes in our mind is:

1] Whether the above division of problem is logical or not?

2] If yes: Which one is better…under what conditions….

3] Whether it is possible to embed both solution and generate a third possible solution.

4] Whether this solution can be generalized for [m, n] problem case.
It means m current operations and n immediate successor operations.

For each of the two problems, we have solution as derived earlier in this section and it could be interesting to find out impact of that solution on problem definition.

If one carefully observes the stated problems, can state following observations:

1] Though two problem defined seems to be different, but those can not be solved as two independent problems.

2] Interestingly the constraints equation are linear in nature. Therefore, it may be a good idea to try to formulate LP problem to solve the problem of material constraint.

3] For this purpose, we can divide total problem into two distinct problems:

a] Calculate total feasible inventory for each of the current operation(s) that can be assigned to all consuming operations, without violating stock policy.

b] Formulate a linear programming problem that can be solved by simplex
method, which provides an optimized solution for a given objective function.

4] This linear program can also be formulated for ‘one to many allocation’ case as well. This shall also provide an optimized solution for a given objective function.

5] The LP formulation can also solve the third case: many to one allocation problem.

6] One additional benefit of using LP is that is gives optimized solution in a very less time and it can handle big number of variables without any difficulty.

Now we will try to formulate LP for each of the case and solve it by simplex method.

It is easier to solve these LP problems using ‘Solver’ function from excel, with an assumption that problem is linear in nature and variables have non-negative values.


Generalized Linear Problem Solution:


Objective Function: Max / Min Σ Oi * Pi

Subject to: Σ Pi * Q i = Q

All Pi Σ 0 ,

Here quantities Qi are calculated by the algorithm described earlier and Oi is weight or penalty / cost for item i. The value Qi provides the total maximum feasible quantities of a particular item i, that can be assign for production, without violating stock policy.

Pi indicates the actual production quantity of item i.

Let us see again the same three classification of the problem domain:

A. Many to Many allocation problem

B. One to Many allocation problem

C. Many to One allocation problem

Friday, July 10, 2009

Material Constraint Theory Part V


(VI) PROBLEM ILLUSTRATION – ONE TO MANY ALLOCATION
- Contd...

Problem A] Find out total feasible quantity of item ‘A’, which is available for production at particular time ‘t’. Consider here, WIP and Store stock as well. Say it is Q[A].

If Q[A] Σ D[ t ], Then there is no problem for inventory allocation, as sufficient quantity is available in stock to process succ_op, without violating constraints defined. Else, problem B] will be applicable.


Problem B] Find out inventory allocation rule, which assigns Q[A] to succ_op in an effective manner, without violating constraints and satisfying the objective function, as defined.

One can think of following parameters, basis on which derivation of allocation rule may be possible, mostly related to demand:
1] Current lot sizes of each of succ_op,
2] Demand on each of succ_op, over finite horizon T, {D20 / D30 / D40}
3] Weight of each item in succ_op, (weight may be defined as delay cost per unit or importance)
4] Propagated end item demand on each of succ_op.
5] Consumption ratio for each of succ_op.

Let us try to derive the effect of all stated parameters on allocation problem. For the Illustration, let us solve a simple problem, as given below:



Here
s = 5, S = 18, D10 = 8, QT10 = 12, Q’10 = 14. Total demand on op10 = 16+10+21 = 47
Qi = Lot size [planned production quantity of current operation i ],
Di = demand of items produced by succ_op i, over finite horizon T.


Problem A: Find out feasible quantity that can be used for production of operations 20, 30 & 40, without violating stock policy.
The algorithm as used earlier can also be applied here. Therefore,

Feasible quantity that can be assigned from stock can be calculated as:


Fq[ A ] = 14 + 10 – 8 – 5 = 11


Feasible quantity that can be assign from stock = 11

Total quantity available for allocation = 11 + 22 = 33


Problem B: Find out a good solution for allocation of available inventory for succ_op, based on criteria defined.

I] Allocate inventory proportionate to lot size quantity:
[Minimize variance]

Ratio of allocation --- op20 : op30 : op40 : : 16 : 10 : 21

Total amount available: 33



II] Allocate inventory proportionate to demand:

[Minimize shortage]

Ratio of allocation --- op20 : op30 : op40 : : 16 : 9 : 18
Total amount available: 33



III] Allocate inventory proportionate to penalty/delay cost:
[Minimize delay cost ]

Ratio of allocation --- op20 : op30 : op40 : : 4 : 3 : 2

Total amount available: 33




Though above problems do not represent common / generalized results, but one can observe that allocation of inventory based on delay cost shall yield a result with reduces total penalty or delay cost.

One has to identify the suitable objective function and then the allocation rule can be derived for the same.

Actually, after determining the feasible quantity that can be assigned at particular time t, one can determine numerous methods to allocate available inventory to all downstream consuming operations.

Different individual parameters can be identified as stated above, or one can derive combination of this parameter to find out the proportionate allocation to a particular operation.

Monday, July 6, 2009

Material Constraint Theory Part IV


(V) HEURISTIC – MANY TO ONE ALLOCATION


1] For given lot size of item L, calculate actual requirement of immediate Predecessor items.
q[i] = DL * x , q[j] = DL * y , q[k] = DL * k ,

2] Calculate shortages for each predecessor item.
Sq[i] = q[i] – Qi’’ , Sq[j] = q[j] – Qj’’ , Sq[k] = q[k] – Qk’’ ,

3] Calculate the feasible quantity of each item that can be assign at particular time t, from store stock, based on stock policy.
Fq[i] = max { (Qi’ + Q[Ti] – Di – s[i] ), 0 }
Fq[j] = max { (Qj’ + Q[Tj] – Dj – s[j] ), 0 }
Fq[k] = max { (Qk’ + Q[Tk]+Q[Tk+1] – Dk – s[k] ), 0 }


4] Calculate the total quantity available at time t, to manufacture item L.
TQ[I] = Qi’’ + min { Sq[i] , Fq[i] } ,
TQ[j] = Qj’’ + min { Sq[j] , Fq[j] } ,
TQ[k] = Qk’’ + min { Sq[k] , Fq[k] } ,


5] Calculate the actual production of item L possible from total quantity available of items i, j and k.
PQ[L-i] = TQ[i] / x ,
PQ[L-j] = TQ[j] / y ,
PQ[L-k] = TQ[k] / z ,


Net quantity of item L, which can be produced, shall be:NQ[L] = min { PQ[L-i], PQ[L-j] , PQ[L-k] }

6] Calculate actual quantity of predecessor items required to produce NQ[L].
NQ[i] = NQ[L] / x ,
NQ[j] = NQ[L] / y ,
NQ[k] = NQ[L] / z ,


7] Calculate the quantity required to be assigned from the stock, for each predecessor items.
SQ[i] = NQ[i] – Qi’’ ,
SQ[j] = NQ[j] – Qj’’ ,
SQ[k] = NQ[k] – Qk’’ ,


8] Update store stock by deducting the assigned quantity for each predecessor item.
Qi = Qi’ – SQ[i],
Qj = Qj’ – SQ[j],
Qk = Qk’ – SQ[k]
,

9] Update the lot size to be produced for item L, from DL to NQ[L] .
Exit
.

The above algorithm works on the principal:

Produce feasible quantity of current item under consideration, while minimizing the probability of shortages for all other items that needs to be produced over defined finite horizon, and consumes at least one item from those required for the current item.

Off course, alterations are possible in the above algorithm based on various conditions. For example:


A] Change in stock policy.
B] Current item is very important. One should try to maximize production quantity of current item, irrespective of any resulting shortages for any other item in the future and / or stock policy.
C] Compare the priorities of the items conflicting for the consumption of same items over finite horizon, and try to minimize probability of shortage for most important item.

The algorithm is flexible enough to consider any of above recommendation without any major changes. Mainly the calculations for step three shall change, based on changed condition.

II. ALLOCATION OF MATERIAL - “ONE TO MANY ALLOCATION”



Constraints:


1] WIP inventory of item A produced by Operation 10 at a particular time t.
2] Stock Policy.

3] Consumption ratio of item A produced by Operation 10 for items to be produced by Operation 20, 30 and 40.
4] Planned production quantity of Items. (to be produced by Operation 20, 30 & 40).
5] Stock on hand of item A at time ‘t’, and scheduled receipts of item A produced by operation 10.


Assumptions:


a] There is no other demand on item ‘A’ than by operations 20, 30 & 40 (produced by operations 10, or otherwise is sub contracted), at particular time ‘ t ‘ .
b] Next scheduled receipt for item ‘A’ is known over a finite horizon T.
c] Demand on item ‘A’ by other MO’s, for a finite horizon T is known.
d] The inventory system follows base stock policy { [s, S] policy }.


(VI) PROBLEM ILLUSTRATION –ONE TO MANY ALLOCATION

Lot sizes of operation 20, 30 & 40 are Q20, Q30 and Q40. Consumption ratio for operations 20, 30 & 40 are r[20], r[30] and r[40] respectively. We should know for Look-ahead period [time t to time T]:



As now the downstream consuming operations [may be called succ_op] are many, one has to carefully consider demand on succ_op, over finite forward horizon T also to derive a particular solution.

The total analysis can be divided into two different set of problems. Lets look at it the next part: