Worst-case analysis is sometimes overly pessimistic.
Amortized analysis of an algorithm involves computing the maximum total number of all operations on the various data structures.
Amortized cost applies to each operation, even when there are several types of operations in the sequence.
In amortized analysis, time required to perform a sequence of data structure operations is averaged over all the successive operations performed. That is, a large cost of one operation is spread out over many operations (amortized), where the others are less expensive.
Therefore, amortized anaysis can be used to show that the average cost of an operation is small, if one averages over a sequence of operations, even though one of the single operations might be very expensive.
The amortized analysis method originally emerged as aggregated analysis (Ullmanm, Aho and Hopcroft used a version of it to analyze set representations) to analyze basic set operation in binary trees and union operations. The technique was first formally introduced by Robert Tarjan in his paper Amortized Computational Complexity. It was used to study balanced binary trees and the operation for set representations.
PG Day'14 Russia, GIN — Stronger than ever in 9.4 and further, Александр Коро...pgdayrussia
Доклад был представлен на официальной российской конференции PG Day'14 Russia, посвященной вопросам разработки и эксплуатации PostgreSQL.
Доклад посвящен улучшениям в GIN-индексах в PostgreSQL 9.4 и далее, которые выводят GIN на новый уровень производительности и расширяемости. Наиболее важные улучшения:
Сжатие постинг-листов. Индексы становятся в среднем в 2 раза компактнее. При это не требуется никаких изменений со стороны opclass'ов. pg_upgrade поддерживается, индексы сжимаются "на лету".
Алгоритм быстрого сканирования GIN-индексов позволяет пропускать части больших постинг-деревьев при сканировании. Этот алгоритм кардинально улучшает скорость поиска для hstore и jsonb операторов, а также случай "частое_слово & редкое_слово" для полнотекстового поиска.
Хранение дополнительной информации в постинг-листах. Содержимое этой дополнительной информации зависит от конкретной разновидности GIN-индекса (определяется opclass'ом). Дополнительная информация может быть полезна при самых разных видах поиска: поиск по фразам, поиск по похожести массивов, обратный полнотекстовый поиск (поиск тех tsquery, которые подходят под tsvector), обратный поиск по регулярным выражением (поиск регулярных выражений, подходящих под строку), поиск по строковой "похожести" с использованием позиционных n-грам.
Ранжирование по индексу. Это улучшение позволяет возвращать результаты из индекса таким образом, как это определяет opclass. Наиболее важное применение — возвращение результатов полнотекстового поиска в порядке релевантности, кардинально снижающее загрузку IO. Но есть также и другие применения, такие как возврат массивов или строк в порядке их "похожести".
В докладе представлены результаты "бенчмарков" полнотектового поиска, использующие реальные наборы данных (6М и 15М документов) и реальные поисковые запросы, которые демонстрируют, что улучшенный полнотекстовый поиск PostgreSQL (со всеми накладными расходами ACID) может превосходить по скорости Sphinx.
International Journal of Mathematics and Statistics Invention (IJMSI)inventionjournals
International Journal of Mathematics and Statistics Invention (IJMSI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJMSI publishes research articles and reviews within the whole field Mathematics and Statistics, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
Monthly team meeting template for managersEmese Katona
Communication is key for all management roles.
This is a meeting template which could be used for regular team meetings, in order not to miss to share any important information and keep the team up-to-date and focused. I like to use it as it is simple, structured, yet concise.
The Top Skills That Can Get You Hired in 2017LinkedIn
We analyzed all the recruiting activity on LinkedIn this year and identified the Top Skills employers seek. Starting Oct 24, learn these skills and much more for free during the Week of Learning.
#AlwaysBeLearning https://learning.linkedin.com/week-of-learning
Worst-case analysis is sometimes overly pessimistic.
Amortized analysis of an algorithm involves computing the maximum total number of all operations on the various data structures.
Amortized cost applies to each operation, even when there are several types of operations in the sequence.
In amortized analysis, time required to perform a sequence of data structure operations is averaged over all the successive operations performed. That is, a large cost of one operation is spread out over many operations (amortized), where the others are less expensive.
Therefore, amortized anaysis can be used to show that the average cost of an operation is small, if one averages over a sequence of operations, even though one of the single operations might be very expensive.
The amortized analysis method originally emerged as aggregated analysis (Ullmanm, Aho and Hopcroft used a version of it to analyze set representations) to analyze basic set operation in binary trees and union operations. The technique was first formally introduced by Robert Tarjan in his paper Amortized Computational Complexity. It was used to study balanced binary trees and the operation for set representations.
PG Day'14 Russia, GIN — Stronger than ever in 9.4 and further, Александр Коро...pgdayrussia
Доклад был представлен на официальной российской конференции PG Day'14 Russia, посвященной вопросам разработки и эксплуатации PostgreSQL.
Доклад посвящен улучшениям в GIN-индексах в PostgreSQL 9.4 и далее, которые выводят GIN на новый уровень производительности и расширяемости. Наиболее важные улучшения:
Сжатие постинг-листов. Индексы становятся в среднем в 2 раза компактнее. При это не требуется никаких изменений со стороны opclass'ов. pg_upgrade поддерживается, индексы сжимаются "на лету".
Алгоритм быстрого сканирования GIN-индексов позволяет пропускать части больших постинг-деревьев при сканировании. Этот алгоритм кардинально улучшает скорость поиска для hstore и jsonb операторов, а также случай "частое_слово & редкое_слово" для полнотекстового поиска.
Хранение дополнительной информации в постинг-листах. Содержимое этой дополнительной информации зависит от конкретной разновидности GIN-индекса (определяется opclass'ом). Дополнительная информация может быть полезна при самых разных видах поиска: поиск по фразам, поиск по похожести массивов, обратный полнотекстовый поиск (поиск тех tsquery, которые подходят под tsvector), обратный поиск по регулярным выражением (поиск регулярных выражений, подходящих под строку), поиск по строковой "похожести" с использованием позиционных n-грам.
Ранжирование по индексу. Это улучшение позволяет возвращать результаты из индекса таким образом, как это определяет opclass. Наиболее важное применение — возвращение результатов полнотекстового поиска в порядке релевантности, кардинально снижающее загрузку IO. Но есть также и другие применения, такие как возврат массивов или строк в порядке их "похожести".
В докладе представлены результаты "бенчмарков" полнотектового поиска, использующие реальные наборы данных (6М и 15М документов) и реальные поисковые запросы, которые демонстрируют, что улучшенный полнотекстовый поиск PostgreSQL (со всеми накладными расходами ACID) может превосходить по скорости Sphinx.
International Journal of Mathematics and Statistics Invention (IJMSI)inventionjournals
International Journal of Mathematics and Statistics Invention (IJMSI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJMSI publishes research articles and reviews within the whole field Mathematics and Statistics, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
Monthly team meeting template for managersEmese Katona
Communication is key for all management roles.
This is a meeting template which could be used for regular team meetings, in order not to miss to share any important information and keep the team up-to-date and focused. I like to use it as it is simple, structured, yet concise.
The Top Skills That Can Get You Hired in 2017LinkedIn
We analyzed all the recruiting activity on LinkedIn this year and identified the Top Skills employers seek. Starting Oct 24, learn these skills and much more for free during the Week of Learning.
#AlwaysBeLearning https://learning.linkedin.com/week-of-learning
Fuzzy Sequencing Problem Using Generalized Triangular Fuzzy NumbersIJERA Editor
In this paper, we present the different methods to solve fuzzy sequencing problem using fuzzy technological
values like generalized triangular fuzzy numbers. The procedure adopted was the fuzzy sequencing problems
are defuzzified using ranking functions and hence solving the crisp sequencing problem by standard sequencing
algorithm for obtaining the optimal sequence and minimum completion time in terms of fuzzy values which is
illustrated with numerical examples and solutions
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
Minimizing rental cost for n jobs, 2-machines flow shop scheduling, processing time associated with probabilities
1. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
Minimizing Rental Cost for n-Jobs, 2-Machines Flow Shop
Scheduling, Processing Time Associated with Probabilities
Including Transportation Time and Job Block criteria
Sameer Sharma*, Deepak Gupta, Payal Singla, Shashi Bala
Department of Mathematics, Maharishi Markandeshwar University, Mullana, Ambala, India
* E-mail of the corresponding author: samsharma31@yahoo.com
Abstract
This paper deals with a heuristic algorithm to minimize the rental cost of the machines for two stage flow
shop scheduling problem under specified rental policy in which processing times are associated with their
respective probabilities. Further, the transportation time from one machine to another machine and an
equivalent job block criteria is being considered. The purposed algorithm is easy to understand and provide
an important tool for the decision makers. A computer program followed by a numerical illustration is also
given to justify the algorithm.
Keywords: Equivalent job, Flow Shop, Rental Policy, Transportation Time, Elapsed Time.
1. Introduction
Scheduling problems concern with the situation in which value of the objective function depends on the
order in which tasks have to be performed. A lot of research work has been done in the area of scheduling
problems for different situations and different criterions. Johnson (1954) gave procedure for finding the
optimal schedule for n-jobs, two machine flow-shop problem with minimization of the makespan (i.e. total
elapsed time) as the objective. Ignall & Scharge (1965) applied Branch and Bound technique for obtaining
a sequence which minimizes the total flow time. Chandrasekharan (1992) has given a technique based on
Branch and Bound method and satisfaction of criterion conditions to obtain a sequence which minimizes
total flow-time subject to minimum makespan in a two stage flow shop problem. Bagga (1969), Maggu and
Das (2005), Szwarch (1977), Yoshida & Hitomi (1979), Singh (1985), Chandra Sekhran (1992), Anup
(2002) etc. derived the optimal algorithm for two/ three or multistage flow shop problems taking into
account the various constraints and criteria. Maggu and Das (1977) introduced the concept of job-block
criteria in the theory of scheduling. This concept is useful and significant in the sense to create a balance
between the cost of providing priority in service to the customer and cost of giving services with
non-priority customers. The decision maker may decide how much to charge extra to priority customers.
Singh T.P., Gupta Deepak (2006) studied n×2 general flowshop problem to minimize rental cost under a
predefined rental policy in which the probabilities have been associated with processing time on each
machine including job block criteria. In this paper we have extended the study made by Singh T.P., Gupta
Deepak (2006) by introducing the concept of transportation time. Here we have developed an algorithm to
minimize the rental cost of the machines. The problem discussed here is wider and has significant use of
theoretical results in process industries.
2. Notations
S : Sequence of jobs 1,2,3,….,n
Mj : Machine j, j= 1,2,…….
Ai : Processing time of ith job on machine A.
Bi : Processing time of ith job on machine B.
17
2. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
A′i : Expected processing time of ith job on machine A.
B′i : Expected processing time of ith job on machine B.
pi : Probability associated to the processing time Ai of ith job on machine A.
th
qi : Probability associated to the processing time Bi of i job on machine B.
Si : Sequence obtained from Johnson’s procedure to minimize rental cost.
tAi→Bi : Transportation time from machine A to machine B.
Cj : Rental cost per unit time of machine j.
Ui : Utilization time of B (2 nd machine) for each sequence Si
t1 (Si) : Completion time of last job of sequence Si on machine A.
t2(Si) : Completion time of last job of sequence Si on machine B.
R(Si) : Total rental cost for sequence Si of all machines.
CT(Si) :Completion time of 1 st job of each sequence Si on machine A.
3. Problem Formulation
Let n jobs say i=1,2,3…n be processed on two machines A & B in the order AB. A job i (i=1,2,3…n) has
processing time A i & B i on each machine respectively with their respective probabilities pi & qi such that
0≤ pi ≤ 1 & Σpi = 1, 0 ≤ qi ≤ 1 & Σqi=1 and let tAi→Bi be the transportation time from machine A to
machine B of each job i. Let an equivalent job β is defined as (k, m) where k and m are any jobs among the
given n jobs such that k occurs before job m in the order of job block (k , m). The mathematical model of
the problem in matrix form can be stated as :
jobs Machine A tAi→Bi Machine B
i A p B q
i i i i
1 A p tA1→B1 B q
1 1 1 1
2 A p tA2→B2 B q
2 2 2 2
3 A p tA3→B3 B q
3 3 3 3
4 A p4 tA4→B4 B q
4 4 4
--- --- --- --- --- ---
--- --- --- --- --- ---
n A p tAn→Bn B q
n n n n
Table – 1
Our objective is to find the optimal schedule of all jobs which minimize the total rental cost, when costs per
unit time for machines A & B are given while minimizing the makespan.
4. Practical Situations
Various practical situations occur in real life when one has got the assignments but does not have one’s own
machine or does not have enough money or does not want to take risk of investing huge amount of money
to purchase machine. Under such circumstances, the machine has to be taken on rent in order to complete
the assignments. As a medical practitioner, in the starting of his career, does not buy expensive machines
18
3. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
say X-ray machine, the ultra sound machine etc. but instead take them on rent. Moreover in
hospitals/industries concern, sometimes the priority of one job over the other is preferred. It may be
because of urgency or demand of its relative importance. Hence the job block criteria become significant.
Further, when the machines on which jobs are to be processed are planted at different places, the
transportation time which include the loading time, moving time and unloading time etc. has a significant
role in production concern and hence significant.
5. Assumptions
1. We assume rental policy that all the machines are taken on rent as and when they are required and
are returned as when they are no longer required for processing. Under this policy second machine is taken
on rent at time when first job completes its processing on first machine. Therefore idle time of second
machine for first job is zero.
2. Jobs are independent to each other.
3. Machine break down is not considered.
4. Pre- emission is not allowed i.e. once a job started on a machine, the process on that machine can’t be
stopped unless the job is completed.
5. It is given to sequence k jobs i1, i2…ik as a block or group-job in the order (i1, i2…ik ) showing priority
of job i1 over i2
6. Jobs may be held in inventory before going to a machine.
6. Algorithm
To obtain optimal schedule, we proceed as
Step 1. Define expected processing time A′i & B′i on machine A & B respectively as follows:
A′i = Ai * pi, B′i = Bi * qi
Step 2. Define two fictitious machines G & H with processing time Gi & Hi for job i on machines G & H
respectively, as:
Gi= A′i + tAi→Bi , Hi= tAi→Bi + B′i
Step 3. Take equivalent job β = (k, m ) and define processing time as follows:
Gβ = Gk + Gm - min(Gm , Hk), Hβ = Hk + Hm - min(Gm , Hk)
Step 4. Define a new reduced problem with processing time Gi & Hi where job block (k , m) is replaced by
single equivalent job β with processing time Gβ & Hβ as obtained in step 3.
Step 5. Apply Johnson’s (1954) technique and obtain an optimal schedule of given jobs, using Johnson’s
technique. Let the sequence be S1.
Step 6. Observe the processing time of 1 st job of S1 on the first machine A . Let it be α.
Step 7. Obtain all the jobs having processing time on A greater than α. Put these job one by one in the 1 st
position of the sequence S1 in the same order. Let these sequences be S2, S3, S4,…Sr
Step 8. Prepare in-out table for each sequence Si (i=1,2,…r) and evaluate total completion time of last job
of each sequence t1 (Si) & t2(Si) on machine A & B respectively.
Step 9. Evaluate completion time CT(Si) of 1 st job for each sequence Si on machine A.
Step 10. Calculate utilization time Ui of 2 nd machine for each sequence Si as:
Ui= t2(Si) – CT(Si) for i=1,2,3,…r.
Step 11. Find Min {Ui}, i=1,2,…r. let it be corresponding to i=m, then Sm is the optimal sequence for
minimum rental cost.
Min rental cost = t1 (Sm)×C1+Um×C2
19
4. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
Where C1 & C2 are the rental cost per unit time of 1 st & 2 nd machine respectively.
7. Computer Program
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<process.h>
void display();
void schedule(int,int);
void inout_times(int []);
void update();
void time_for_job_blocks();
float min;
int job_schedule[16],tt[16];int job_schedule_final[16];int n;
float a1[16],b1[16],a11[16],b11[16];float a1_jb,b1_jb;float a1_temp[15],b1_temp[15];
int job_temp[15];int group[2];//variables to store two job blocks
float a1_t[16], b1_t[16];float a1_in[16],a1_out[16];float b1_in[16],b1_out[16];
float ta[16]={32767,32767,32767,32767,32767},tb[16]={32767,32767,32767,32767,32767};
void main()
{
clrscr();
int a[16],b[16];float p[16],q[16];int optimal_schedule_temp[16];int optimal_schedule[16];
float cost_a,cost_b,cost;float min; //Variables to hold the processing times of the job blocks
cout<<"How many Jobs (<=15) : ";cin>>n;
if(n<1 || n>15)
{cout<<"Wrong input, No. of jobs should be less than 15..n Exitting";getch();
exit(0);
}
cout<<"Enter the processing time and their respective probabilities ";
for(int i=1;i<=n;i++)
{cout<<"nEnter the processing time and its probability of "<<i<<" job for machine A : ";cin>>a[i]>>p[i];
cout<<"nEnter the transportation time of "<<i<<"job from machine A to B : ";cin>>tt[i];
cout<<"nEnter the processing time and its probability of "<<i<<" job for machine B : ";cin>>b[i]>>q[i];
//Calculate the expected processing times of the jobs for the machines:
a11[i] = a[i]*p[i];b11[i] = b[i]*q[i];a1[i]=a11[i]+tt[i];b1[i]=b11[i]+tt[i];
}
for(int k =1;k<=n;k++)
{cout<<"n"<<k<<"tt"<< a1[k]<<"tt"<< b1[k];}
20
5. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
cout<<"nEnter the two job blocks (two numbers from 1 to "<<n<<") : ";cin>>group[0]>>group[1];
cout<<"nEnter the Rental cost of machine A : ";cin>>cost_a;
cout<<"nEnter the Rental cost of machine B : ";cin>>cost_b;
//Function for expected processing times for two job blocks
time_for_job_blocks();int t = n-1;
schedule(t,1);
//Calculating In-Out times
inout_times(job_schedule_final);
//REpeat the process for all possible sequences
for( k=1;k<=n;k++) //Loop of all possible sequences
{
for(int i=1;i<=n;i++)
{optimal_schedule_temp[i]=job_schedule_final[i];}
int temp = job_schedule_final[k];optimal_schedule_temp[1]=temp;
for(i=k;i>1;i--)
{optimal_schedule_temp[i]=job_schedule_final[i-1];}
//Calling inout_times()
int flag=0;
for(i=1;i<n;i++)
{
if(optimal_schedule_temp[i]==group[0] && optimal_schedule_temp[i+1]==group[1])
{flag=1;break;}
}
if(flag==1)
{
inout_times(optimal_schedule_temp);
ta[k]=a1_out[n]-a1_in[1];tb[k]=b1_out[n]-b1_in[1];
if(tb[k]<tb[k+1])
{
//copy optimal_schedule_temp to optimal_schedule
for(int j=1;j<=n;j++)
{
optimal_schedule[j]=optimal_schedule_temp[j];
}}}}
float smalla = ta[1];float smallb = tb[1];float maxv[16];
for(int ii=2;ii<=n;ii++)
{
if(smalla>ta[ii])
21
6. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
smalla = ta[ii];
if(smallb>tb[ii])
smallb = tb[ii];
}
clrscr();
cout<<"nnnnnnnnttt #####THE SOLUTION##### ";
cout<<"nnt***************************************************************";
cout<<"nnnt Optimal Sequence is : ";
for (ii=1;ii<=n;ii++)
{cout<<optimal_schedule[ii]<<" ";}
cout<<"nnt The smallest possible time span for machine A is : "<<smalla;
cout<<"nnt The smallest possible time span for machine B is : "<<smallb;
cost = cost_a*smalla+cost_b*smallb;
cout<<"nnt Total Minimum Rental cost for both the machines is : "<<cost;
cout<<"nnnt***************************************************************";
getch();
}
void time_for_job_blocks()
{
//The expected processing times for two job blocks are
if(b1[group[0]]<a1[group[1]])
{min = b1[group[0]];}
else
{min = a1[group[1]];}
a1_jb = a1[group[0]]+a1[group[1]] - min; //(b1[k]<a1[m])?b1[k]:a1[m];
b1_jb = b1[group[0]]+b1[group[1]] - min; //(b1[k]<a1[m])?b1[k]:a1[m];
cout<<"/n abeta = "<<a1_jb<<"n bbeta ="<<b1_jb;
getch();
}
void inout_times(int schedule[])
{
for(int i=1;i<=n;i++)
{
//Reorder the values of a1[] and b1[] according to sequence
a1_t[i] = a11[schedule[i]];b1_t[i] = b11[schedule[i]];
cout<<"n"<<schedule[i]<<"tt"<<a1_t[i]<<"tt"<<b1_t[i];
}
22
7. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
for(i=1;i<=n;i++)
{
if(i==1)
{a1_in[i]=0.0; a1_out[i] = a1_in[i]+a1_t[i];b1_in[i] = a1_out[i]+tt[schedule[i]];
b1_out[i] = b1_in[i]+b1_t[i];}
else
{
a1_in[i]=a1_out[i-1];a1_out[i] = a1_in[i]+a1_t[i];
if(b1_out[i-1]>=(a1_out[i]+tt[schedule[i]]))
{b1_in[i] = b1_out[i-1];b1_out[i] = b1_in[i]+b1_t[i];}
else
{b1_in[i] = a1_out[i]+tt[schedule[i]];b1_out[i] = b1_in[i]+b1_t[i];
}}}}
int js1=1,js2=n-1;
void schedule(int t, int tt)
{
if(t==n-1)
{js1=1; js2=n-1;}
if(t>0 && tt==1)
{
for(int i=1,j=1;i<=n;i++,j++) //loop from 1 to n-1 as there is one group
{if(i!=group[0]&&i!=group[1])
{a1_temp[j] = a1[i];b1_temp[j] = b1[i];job_temp[j] = i;}
else if(group[0]<group[1] && i==group[0])
{a1_temp[j] = a1_jb;b1_temp[j] = b1_jb;job_temp[j] = -1;}
else
{ j--;}}
//Finding smallest in a1
float min1= 32767;
int pos_a1;
for(j=1;j<n;j++)
{
if(min1>a1_temp[j])
{pos_a1 = j;min1 = a1_temp[j];}
}
//Finding smallest in b1
float min2= 32767;int pos_b1;
for(int k=1;k<n;k++)
{if(min2>b1_temp[k])
23
8. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
{pos_b1 = k;min2 = b1_temp[k] }}
if(min1<min2)
{job_schedule[js1] = job_temp[pos_a1];js1++;a1_temp[pos_a1]=32767;b1_temp[pos_a1]=32767;}
else
{job_schedule[js2] = job_temp[pos_b1];js2--;a1_temp[pos_b1]=32767;b1_temp[pos_b1]=32767;
}}
else if(t>0 && tt!=1)
{//Finding smallest in a1
float min1= 32767;int pos_a1;
for(int i=1;i<n;i++)
{if(min1>a1_temp[i])
{pos_a1 = i;min1 = a1_temp[i];
}}
//Finding smallest in b1
float min2= 32767;int pos_b1;
for(i=1;i<n;i++)
{if(min2>b1_temp[i])
{pos_b1 = i;min2 = b1_temp[i];
}}
if(min1<min2)
{job_schedule[js1] = job_temp[pos_a1];js1++;a1_temp[pos_a1]=32767;b1_temp[pos_a1]=32767;}
else
{job_schedule[js2] = job_temp[pos_b1];js2--;a1_temp[pos_b1]=32767;b1_temp[pos_b1]=32767;}}
t--;
if(t!=0)
{schedule(t, 2);}
//final job schedule
int i=1;
while(job_schedule[i]!=-1)
{job_schedule_final[i]=job_schedule[i];i++;}
job_schedule_final[i]=group[0];i++;
job_schedule_final[i]=group[1];i++;
while(i<=n)
{job_schedule_final[i]=job_schedule[i-1];i++;}}
8. Numerical Illustration
Consider 5 jobs and 2 machines problem to minimize the rental cost. The processing times with their
respective probabilities and transportation time from one machine to another machine are given as follows:
24
9. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
job Machine A tAi →Bi Machine B
i Ai pi Bi qi
1 12 0.2 6 8 0.1
2 16 0.3 5 12 0.2
3 13 0.3 4 14 0.3
4 18 0.1 3 17 0.2
5 15 0.1 4 18 0.2
Table-2
Rental costs per unit time for machines M1 & M2 are 15 & 13 units
respectively, and jobs 2, 5 are to be processed as an equivalent group job β.
Solution: The expected processing times for two machines are as in table 3.
As per step 3 : The processing times of equivalent job block β = (2,5) are given by
Gβ = 9.8+5.5-5.5= 9.8 and Hβ = 7.4+7.6 -5.5=9.5
As per step 4 : Using Johnson’s method, the optimal sequence is S1 = 4,3, β,1 .i.e. 4-3-2-5-1
Other optimal sequences for minimize rental cost, are
S2 =1-4-3-2-5
S3 = 3-4-2-5-1
S4 = 2-5-4-3-1
The In-out table for the sequence S1 is as shown in table 4.
The total elapsed time = 22.3 units and utilization time for M2 = 22.3-4.8 =17.5 units.
The In-out table for the sequence S2 is as shown in table 5.
Total elapsed time = 23.9 units and Utilization time of M2 = 23.9- 3.0 =20.9 units
The In-out table for the sequence S3 is as shown in table 6.
The total elapsed time = 22.3 units and Utilization time of B = 22.3 -7.9 = 14.4 units
The In-out table for the sequence S4 is as shown in table 6.
The total elapsed time=24.2 units and Utilization time of B = 24.2 – 9.8 = 14.4 units
The total utilization of A machine is fixed 14.4 units and minimum utilization time of B machine is 14.4
units for two sequences S3 and S4. Therefore optimal sequences are S3 3-4-2-5-1 and S4 2-5-4-3-1 and total
rental cost =14.4×15+14.4×13 =403.20 units
References
Johnson, S. M. (1954), “Optimal two and three stage production schedule with set up times included”, Nay
Res. Log Quart.,1(1), pp.61-68.
Ignall,, E.& Schrage, L.(1965), “Application of the branch and bound technique to some flow shop
scheduling problems.” Operation Research, 13, 400-412
Chandrasekharan Rajendaran (1992), “Two-Stage Flowshop Scheduling Problem with Bicriteria ”, O.R.
Soc., 43( 9), pp. 871-84.
Bagga, P.C. (1969), “Sequencing in a rental situations”, Journal of Canadian Operation Research
Society ,7 , pp.152-153.
Maggu, P. L & Das G.(1977), “Equivalent jobs for job block in job sequencing”, Opsearch, 14(4),
25
10. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
pp.277-281.
Szware, W, (1977), “Special cases of the flow shop problems”, Naval Research Log ,Quaterly, 24,pp.
403-492.
Yoshida & Hitomi (1979), “Optimal two stage production scheduling with set up times separated”, AIIE
Transactions, II, pp. 261-263.
Singh,T.P (1985), “On n×2 shop problem involving job block. Transportation times and Break-down
Machine times”, PAMS, XXI No. 1-2
Chander Sekharan, Rajendra, K. & Deepak Chanderi (1992), “An Efficient Heuristic Approach to the
scheduling of jobs in a flow shop”, European Journal of Operation Research, 61, pp.318-325.
Anup (2002), “On two machine flow shop problem in which processing time assume probabilities and there
exists equivalent for an ordered job block”,.JISSO, XXIII No. 1-4, pp. 41-44.
Singh, T. P., Rajindra, K. & Gupta Deepak (2005), “Optimal three stage production schedule the processing
time and set times associated with probabilities including job block criteria”,Proceedings of National
Conference FACM-2005,pp.463-492.
Singh, T.P, Gupta Deepak (2006), “Minimizing rental cost in two stage flow shop , the processing time
associated with probabilies including job block”, Reflections de era, 1(2), pp.107-120.
Remarks
i.The following algebraic properties can be easily proved with the numerical examples:
a) Equivalent job formation is associative in nature
i.e. the block ((1,3)5) =(1(3.5)).
b) The equivalent job formation rule is non commutative
i.e. the block (1,5) ≠ (5,1).
ii.The study may be extended further for three machines flow shop, also by considering various
parameters such as break down interval etc.
Tables
Table 3: The expected processing times for two machines are
Jobs Ai′ tAi →Bi Bi′
1 2.4 6 0.8
2 4.8 5 2.4
3 3.9 4 4.2
4 1.8 3 3.4
5 1.5 4 3.6
Table 4. The In-out table for the sequence S1 is
26
11. Information and Knowledge Management www.iiste.org
ISSN 2224-5758 (Paper) ISSN 2224-896X (Online)
Vol 1, No.3, 2011
Jobs A tAi →Bi B
In-Out In-Out
4 0-1.8 3 4.8-8.2
3 1.8-5.7 4 9.7-13.9
2 5.7-10.5 5 15.5-17.9
5 10.5-12 4 17.9-21.5
1 12-14.4 6 21.5-22.3
Table 5. The In-out table for the sequence S2 is
Jobs A tAi →Bi B
In-Out In-Out
1 0 - 2.4 6 3.0-3.8
4 2.4 - 4.2 3 7.2-10.6
3 4.2-8.1 4 12.1-16.3
2 8.1-12.9 5 17.9-20.3
5 12.9-14.4 4 20.3-23.9
Table 6. The In-out table for the sequence S3 is
Jobs A tAi →Bi B
In-Out In-Out
3 0-3.9 4 7.9-12.1
4 3.9-5.7 3 12.1-15.5
2 5.7-10.5 5 15.5-17.9
5 10.5-12 4 17.9-21.5
1 12-14.4 6 21.5-22.3
Table 7. The In-out table for the sequence S4 is
Jobs A tAi →Bi B
In-Out In-Out
2 0-4.8 5 9.8-12.2
5 4.8-6.3 4 12.2-15.8
4 6.3-8.1 3 15.8-19.2
3 8.1-12 4 19.2-23.4
1 12-14.4 6 23.4-24.2
27