how to benefit from algorithm engineering in the areas of departmental research and applications...

29
HOW TO BENEFİT FROM ALGORİTHM ENGİNEERİNG İN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLİCATİONS Haldun Süral Başak Akteke-Öztürk Department of Industrial Engineering Middle East Technical University Ankara 2012 1

Upload: gabriel-barnett

Post on 26-Dec-2015

218 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

1

HOW TO BENEFİT FROM ALGORİTHM ENGİNEERİNG İN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLİCATİONS

Haldun Süral

Başak Akteke-ÖztürkDepartment of Industrial Engineering

Middle East Technical University

Ankara 2012

Page 2: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

2

Outline

• Departmental research and applications• Can a laboratory enhance computing layers of research and

applications?

• Background - Pluses and Minuses

• Design and Optimization Laboratory (TOL)

• Processes of TOL

• Algorithm Engineering

• Products of TOL

• Examples

• Benefits of TOL

Page 3: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

3

Departmental Research and Applications -1

• Various requirements from the students and faculty at the department to do computing

• Students usually need a kind of basic support such as

• how to use a software

• how to fix a particular software / hardware error

• how to manage input and output processes.

• Faculty may need some special or specific support such as

• how to make several applications to communicate with each other

• how to get results faster

• how to manage processing of a large set of data

• how to develop an application from a design project

Page 4: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

4

Departmental Research and Applications - 2

• Need for start / enhancement of “collaborative” computing effort at the department

• Most research have multidisciplinary nature - Should everybody know everything?

• Most research is based on or relevant to the research done before - Should everybody start from scratch every time?

• The number of licenced specialized software at the department is increasing - Should everybody know how to use all?

• The number of alternative computing and information technology sources is increasing - Should everybody be aware of availability and reliability of all?

• Hardware and software knowledge is getting obsolete quickly – Are we all fast learner and technically competent?

Page 5: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

5

Departmental Research and Applications - 3

• Desire for developing

• leverage mechanisms for advance computing and design in research and education

• applications for academy and industry, which originate from original research at the department

• instruction materials for education, which transfers original research results at the department

Page 6: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

6

Background - Pluses and MinusesDepartmental Level

• Current departmental computing facts

• Individual (faculty) and computer labs (students) of PCs with installed licenced softwares

• Shared folders on the servers of department

• Undergraduate courses in basic computing level and developing applications as individual or projects of group works

• About 20-25 student projects per year - having potentials for applications

• Special courses for graduate level

• About 10 Master or PhD thesis work per year - having potentials for applications and enhancement of research and education

• Applied and sponsored research - having high potentials for applications or necessity for developing applications

• Technical support for hardware and general purpose software

Page 7: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

7

Background - Pluses and Minuses

Departmental Level

• Current departmental computing facts

• Minus - According to a recent survey performed for the first year students in the department to measure their competence to use computers is rated (in terms of technical ability and skills) as perfect with only 20%, and just okay with 70%.

• Plus – Our students are fast learners!

Page 8: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

8

Background - Pluses and Minuses

Professional Level

• Minus - accustomed professional thinking of practice as

• “… continual progression to ever higher levels of technical know-how and proficiency in an ever narrower area of specialization …”*

• Plus - a strong emphasis on

• “ … critical reason and systems thinking and on strong quantitative analysis. Our approach emphasizes identifying and structuring issues and formulating problems, as much as it seeks to develop and implement effective courses of action. We promote interdisciplinary research …”**

* Excerpt from “The story of lean production” by J.P. Womack, D.T. Jones, and D. Roos, Harper Perennial, 1991.

** Excerpt from “the departmental Mission statement” at www.ie.metu.edu.tr

Page 9: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

9

Background - Pluses and MinusesCultural Level

• Minus – Turkey is only a consumer of computing and information technology industry and its contribution to that industry is very low.*

• Minus – ‘to compute’ = ‘hesaplamak’ (in Turkish)

• 1.to determine by mathematics, especially by numerical methods; 2.to determine by the use of a computer.**

• 1.hesap etmek (to compute); 2.şöyle olacak diye kestirmek (to make a guess); 3.düşünmek (to think about) *** ‘Computing’ in Turkish is inherently far from being technical and quantitative.

* A comment of Mustafa Akgul in “Elektronik Beyinden Akilli Kaleme” by A. Özkan, NGT, March 2012.** Freedictionary.com*** “Büyük Türk Dili Sözlüğü” by M.N. Özün, Arkin Kitabevi, Istanbul 1971.

Page 10: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

10

Background - Pluses and Minuses

Disciplinary Level

• Minus – According to a survey of decision support system applications, largely published in Operations Research, Management Science, and Industrial Engineering journals, it seems to be much more work needed to embed business intelligence functionality in the database management; and more efforts should be made to develop theories, tools, techniques that can be applied in the development and implementation of such applications and that can meet the needs of practicing managers ( i.e., decision-makers).*

• * A shorten excerpt from “A Survey of Decision Support System Applications (1995-2001)”, S. Eom and E. Kim., JORS, 57 (11), 1264-78, 2006.

Page 11: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

11

Background - Pluses and Minuses

Disciplinary Level

• Plus – “ Origins of Computing and Operations Research as modern scientific disciplines can be traced back some 65 years. After the first 25 years, both grown hand in hand – at least for some 20 years -, creating a permanent bond in academia and industry... Nowhere is the symbiotic (having an interdependent) relationship between Operations Research and Computer Science more evident than in the design and analysis of algorithms, which lies at the heart of both disciplines”*

* A shorten excerpt from “Handbooks in OR & MS”, E.G. Coffman et al., Eds., , Vol. 3, 1992, Elsevier Science.

Page 12: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

12

• TOL – A system of processes/services for enhancing collaborative computing

• Laboratory• From merriam-webster.com• a place equipped for experimental study in a science or for testing

and analysis; a place providing opportunity for experimentation, observation, or practice in a field of study

• From thefreedictionary.com• a building or room equipped for conducting scientific research or

for teaching practical science; a place for practice, observation, or testing

In terms of formal meaning ✔

TOL - DESIGN AND OPTIMIZATION LAB

Page 13: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

13

TOL - DESIGN AND OPTIMIZATION LAB

TOL Processes

Product 1Code

Archieve

Product 2 Tutorials

Product 3Test

ProblemsArchieve

NEEDS and DESIRES

Product 4Application

Development

Product kSupport as leverage

• Introduce Algorithm Guidelines using Algorithm Engineering• Provide Expert Guidance for Problem Solving in Computing• Manage and Maintain Collection of Test Instances• Provide Expert and Practical Guidance for Application Development• Promote, Organize and Manage Collaborative Computing Effort

Page 14: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

14

Algorithm Engineering (AE) Cycle

Fig 1. The algorithm engineering cycle [1].

Page 15: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

15

Algorithm Engineering: A bridge for the gap between theory and practice• Phases of AE

• Design – finding new and better ways to solve problems

• Analysis – predicting performance

• Implementation - programming

• Experiment – running

• Experiment in AE: Falsifiable hypotheses on the behavior of the investigated algorithms

confirmation, falsification, or refinement of the hypothesis.

Page 16: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

16

Algorithm Engineering (AE)• Improvement of algorithm and data structure performance

• Asmptotically optimal

• Excellent practical behavior

• Important by-products of AE processes on an algorithm• Correctness

• Algorithm libraries

• Two Success Stories• Shortest path computation

• Full-text indexes

Page 17: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

17

Main Topics in Current AE

Fig 2. Major topics and issues in the current Algorithm Engineering [1].

Page 18: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

18

TOL Product 1 – METU IE Code Archieve

• Practical need: How to plan, evaluate, archive, postprocess and interpret the results

• Process: Introduce specialized algorithm guidelines for code implementations and empirical investigations using Algorithm Engineering

• Expected properties of codes in IE Code Archieve • Careful documentation and version management help (reproducibility)• Appropriate software engineering (successful experimentations)• Modular implementations (flexible experiments)

Page 19: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

19

Example 1: One item from our algorithm guidelines

Separation of data from model: While coding in GAMS, use $include command to include data from external files

Page 20: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

20

TOL Product 2 - Specialized Tutorials

Practical need: Guidance for problem solving and application development

Process: Delivering specialized tutorials

Main benefits of tutorials:• Accelarating the coding phase and all the other phases related with using

softwares

• Collecting tips and tricks discovered and used by the members of the department and redelivering them

• Increasing awareness about the useful abilities of the softwares

Page 21: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

21

TOL Product 3 - Test Instances Archieve

Practical need: Awareness of the used test instances within the department, access to them and being able to use them

Fact: Softwares accept particular data structures as input. Test instances and data need to be arranged to be input for different softwares

INPUT≠DATAINPUT=F(DATA) and F is not unique

Process: Collect, manage, and maintain test instances within the department and from other sources. Collect knowledge of how to input data to certain softwares.

Page 22: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

22

Example 2 – Test instance from TSPLIB for p-median problem• Problem: Given n nodes and distances, find a roundtrip of minimal

total length (dij=dji).

• Application: n (number of points) =1304, p (number of medians) =500

• In TSPLIB, coordinates are given and distance metric is specified in a particular detail Algorithms need distance matrix as input

• Computing distances yield ‘round-down’ problem

• Different round-off techniques effects the optimum solution to a few instances. For example

• Distance matrix from Excel and C: Optimum=96965 (different than the literature)

• Add 0.0001 to the coordinates gives the optimum mentioned in the literature: 97024

Page 23: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

23

Example 3 – Implementation of a multi-objective problem • Problem: Optimization of objective functions of a process

or product simultaneously to find the best trade-off within these objectives

• Desirability functions: One objective is not in the desired limits, then the overall objective is not desirable

Page 24: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

24

Example 3 – Implementation of a multi-objective problem

Page 25: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

25

Shifted and Logarithmic Desirability Functs

Page 26: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

26

Benefits from TOL Products• Enhancing collaboration

• Developing good applications

• Increasing quality of codes and making them reusable

• Transfering academic knowledge to education and ensuring learning from research

• Awareness of experiences gained from specific applications

• Benefits of archieving

Page 27: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

27

References1. Adenso-Díaz. B., and Laguna. M., Fine-Tuning of Algorithms Using

Fractional Experimental Designs and Local Search, Operations Research, Vol. 54, No. 1, 99–114, 2006.

2. Chimani Markus and Klein Karsten, Algorithm Engineering: Concepts and Practice

3. Coffin, Marie and Saltzman, Matthew J., Statistical Analysis of Computational Tests of Algorithms and Heuristics, INFORMS Journal on Computing, 24-44, 12(1), Winter 2000.

4. Demetrescu, C, Finocchi, I., Italiano, G. F., and Naher S., Visualization in Algorithm Engineering, Experimental Algorithmics, Springer-Verlag, New York, 2002.

5. Demetrescu, C, and Italiano, G. F., What do we learn from Experimental Algorithmics, M. Nielsen and B. Rovan (Eds.): MFCS 2000, LNCS 1893, pp. 36-51, 2000. c Springer-Verlag Berlin Heidelberg 2000.

Page 28: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

28

References5. McGeoch, Catherine C., Experimental Analysis of Algorithms, Notices of

AMS, 304-311, 48(3), 2001

6. Ramakrishnan, N., Joshi, A., Houstis, E. N., and Rice, J. R., Collaborative

Environments for Scientific Computing The Task of Algorithm/Software,

Report Number 97-057, Purdue e-Pubs, Department of Computer Science,

Purdue University.

7. Ramakrishnan, N., Joshi, A., Houstis, E. N., and Rice, J. R., Neuro-Fuzzy

Approaches to Collaborative Scientific Computing. In Proc. IEEE

International Conference on Neural Networks'91, 473-478 (1), 1997.

8. Ridge, E., and Kudenko, D., Determining Whether a Problem

Characteristic Affects Heuristic Performance: A Rigorous Design of

Experiments Approach C. Cotta and J. van Hemert (Eds.): Recent

Advances in Evol. Comp., SCI 153, 21–35, 2008.

Page 29: HOW TO BENEFIT FROM ALGORITHM ENGINEERING IN THE AREAS OF DEPARTMENTAL RESEARCH AND APPLICATIONS Haldun Süral Başak Akteke-Öztürk Department of Industrial

29

References9. Sanders, Peter, Algorithm Engineering At a Definition, Efficient Algorithms -

Essays Dedicated to Kurt Mehlhorn on the Occasion of His 60th Birthday, Springer-Verlag, 321-340, 2009.

10. Sanders, Peter, Presenting Data from Experiments in Algorithmics, R. Fleischer et al. (Eds.): Experimental Algorithmics, LNCS 2547,181–196, 2002.

11. Snodgrass R. T., On Experimental Algorithmics: An Interview with Catherine McGeoch and Bernard Moret, Ubiquity an Association for Computing Machinery publication, August 2011.

12. Weihe K., A Software Engineering Perspective on Algorithmics, ACM Computing Surveys, Vol. 33, No. 1, March 2001, pp. 89–134.