## About

96

Publications

54,626

Reads

**How we measure 'reads'**

A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more

418

Citations

Citations since 2017

Introduction

Nikolaos Ploskas currently works as an Assistant Professor at the Department of Electrical & Computer Engineering, University of Western Macedonia. His research interests include Analysis and Design of Algorithms, Mathematical Programming, Optimization, Operations Research, Decision Support Systems, and Machine Learning.

Additional affiliations

October 2018 - present

February 2015 - June 2017

Education

January 2010 - January 2014

October 2007 - July 2009

September 2003 - September 2007

## Publications

Publications (96)

Recent hardware advances have made it possible to solve large scale Linear Programming problems in a short amount of time. Graphical Processing Units (GPUs) have gained a lot of popularity and have been applied to linear programming algorithms. In this paper, we propose two efficient GPU-based implementations of the Revised Simplex Algorithm and a...

Optimization of the refrigerant circuitry can improve a heat exchanger's performance. Design engineers currently choose the refrigerant circuitry according to their experience and heat exchanger simulations. However, the design of an optimized refrigerant circuitry is difficult. The number of refrigerant circuitry candidates is enormous. Therefore,...

Linear least squares problems (LLSPs) routinely arise in many scientific and engineering problems. One of the fastest ways to solve LLSPs involves performing calculations in parallel on graphics processing units (GPUs). However, GPU algorithms are typically designed for one GPU architecture and may be suboptimal or unusable on another GPU. To desig...

The computation of an initial basis is of great importance for simplex algorithms since it determines to a large extent the number of iterations and the computational effort needed to solve linear programs. We propose three algorithms that aim to construct an initial basis that is sparse and will reduce the fill-in and computational effort during L...

This paper reviews the literature on algorithms for solving bound-constrained mixed-integer derivative-free optimization problems and presents a systematic comparison of available implementations of these algorithms on a large collection of test problems. Thirteen derivative-free optimization solvers are compared using a test set of 267 problems. T...

This work focuses on the determination of the design and operation parameters of a thermal system depending on the optimization objective set. Its main objective and contribution concern the proposal of a generalized methodological structure involving multiobjective optimization techniques aimed at providing a solution to a practical problem, such...

The consecutive evolution of a digital communication, remote data and services provision
and interconnection and cloud technologies environment requires the development and
construction of efficient database management systems (DBMSs) that implement storage,
distribution and management of large datasets. These DBMSs are composed of multiple
file su...

The p-median problem concerns the location of facilities so that the sum of distances between the demand points and their nearest facility is minimized. We study a variant of this classic location problem where minimum distance constraints exist both between the facilities and between the facilities and the demand points. This specific type of prob...

Selection of the most efficient algorithm for a given set of linear programming problems has been a significant and, at the same time, challenging process for linear programming solvers. The most widely used linear programming algorithms are the primal simplex algorithm, the dual simplex algorithm, and the interior point method. Interested in algor...

The burden that has come upon the environment, combined with the ever-declining fossil fuel reserves, has led to the need of reducing the conventional energy consumption in building sector and to the promotion of systems based on Renewable Energy Sources (RES). This paper deals with the optimization of multi energy systems in order to cover the nee...

Finding and recognizing different objects in an image quickly and reliably is an important field of computer vision. Object detection is a challenging problem in this field. Humans have the ability to perform such complex tasks fast and accurately. In contrast, the problem of locating objects via a computer is not so simple. Deep learning algorithm...

In recent decades, building design and operation have been an important field of study, due to the significant share of buildings in global primary energy consumption and the time that most people spend indoors. As such, multiple studies focus on aspects of building energy consumption and occupant comfort optimization. The scientific community has...

Large data centers consume large amounts of electricity. Estimating the energy consumption in a data center can be of great importance to data centers administrators in order to know the energy-consuming tasks and take actions for reducing the total energy consumption. Smart workflow mechanisms can be built to reduce the energy consumption of data...

Deciding upon which algorithm would be the most efficient for a given set of linear programming problems is a significant step in linear programming solvers. CPLEX Optimizer supports primal and dual variants of the simplex algorithm and the interior point method. In this paper, we examine a prediction model using artificial neural networks for the...

TOPSIS and VIKOR are two well-known and widely-used multiple attribute decision making methods. Many extensions of these methods have been proposed that either use different techniques to rank alternatives or utilize fuzzy logic to handle alternatives and criteria that are unquantifiable and/or incomplete. In this paper, we present the implementati...

Optimization solvers include many options that allow users to control algorithmic aspects that may have a considerable impact on solver performance. Tuning solver options is often necessary to reduce execution time and improve solution quality. Previous studies of solver tuning techniques have focused on mixed-integer linear programming and local n...

Patents contain a wealth of information about technological progress and market trends. Many existing techniques for patent assessment rely on citation analysis. Despite its importance, citation analysis alone is not adequate to identify all important patents for a given topic. We propose the simultaneous use of eight criteria for patent ranking an...

Interior point methods and simplex-type algorithms are the most widely-used algorithms for solving linear programming problems. The simplex algorithm has many important applications. Hence, even small improvements in simplex-type algorithms could result in noticeable practical impact. This paper presents a hybrid algorithm that combines the strengt...

Goal Programming can be thought as an extension of linear programming to handle multiple goals. The roots of Goal Programming lie in the paper by Charnes et al. (Management Science, 1(2):138–151, 1955) in which they deal with executive compensation methods.

TOPSIS is an acronym that stands for ‘Technique of Order Preference Similarity to the Ideal Solution’ and is a pretty straightforward MCDA method. As the name implies, the method is based on finding an ideal and an anti-ideal solution and comparing the distance of each one of the alternatives to those. It was presented in Hwang and Yoon (Multiple a...

According to Opricovic (Multicriteria optimization of civil engineering systems. PhD Thesis, Faculty of Civil Engineering, Belgrade, 1998), the researcher who originally conceived VIKOR (the acronym is in Serbian: VlseKriterijumska Optimizacija I Kompromisno Resenje, meaning multicriteria optimization and compromise solution), the method has been d...

The Preference Ranking Organization METHod for Enrichment of Evaluations (PROMETHEE) belongs to the outranking family of MCDA methods and was developed by Brans, Mareschal, and Vincke.

The analytic hierarchy process is a widely used MCDA methodology proposed by Saaty (J Math Psychol 15(3):234–281, 1977; The analytic hierarchy process. McGraw-Hill, New York, 1980). AHP is based on the relative measurement theory, where we are not interested in the exact measurement of the alternatives performances over the criteria, but rather on...

The superiority and inferiority ranking method (SIR) is a relatively new MCDA methodology.

Simplex-type algorithms perform successive pivoting operations (or iterations) in order to reach the optimal solution. The choice of the pivot element at each iteration is one of the most critical steps in simplex-type algorithms. The flexibility of the entering and leaving variable selection allows to develop various pivoting rules. This chapter p...

Mathematical Programming System (MPS) format is a widely accepted standard for defining LPs. The vast majority of solvers takes as input an LP problem in MPS format. The given LP problem can be either a benchmark problem, i.e., a problem that is publicly available, or a randomly generated LP problem. This chapter presents the MPS format and two cod...

The exterior point simplex algorithm is a simplex-type algorithm that moves in the exterior of the feasible solution and constructs basic infeasible solutions instead of constructing feasible solutions like simplex algorithm does. This chapter presents the exterior point simplex algorithm. Numerical examples are presented in order for the reader to...

Nowadays, much attention is focused on primal-dual Interior Point Methods (IPMs) due to their great computational performance. IPMs have permanently changed the landscape of mathematical programming theory and computation. Most primal-dual IPMs are based on Mehrotra’s Predictor-Corrector (MPC) method. In this chapter, a presentation of the basic co...

In many cases, after solving an LP problem with the simplex method, there is a change in the data of the LP problem. With sensitivity analysis, we can find if the input data of the LP problem can change without affecting the optimal solution. This chapter discusses how to deal with such changes efficiently. This topic is called sensitivity analysis...

Preconditioning techniques are important in solving LPs, as they improve their computational properties. One of the most widely used preconditioning technique in LP solvers is scaling. Scaling is used prior to the application of an LP algorithm in order to: (i) produce a compact representation of the variable bounds, (ii) reduce the condition numbe...

LPs can be formulated in various forms. An LP problem consists of the objective function, the constraints, and the decision variables. This chapter presents the theoretical background of LP. More specifically, the different formulations of the LP problem are presented. Detailed steps on how to formulate an LP problem are given. In addition, the geo...

The computation of the basis inverse is the most time-consuming step in simplex-type algorithms. The basis inverse does not have to be computed from scratch at each iteration, but updating schemes can be applied to accelerate this calculation. This chapter presents two basis inverse and two basis update methods used in simplex-type algorithms: (i)...

Presolve methods are important in solving LPs, as they reduce the size of the problem and discover whether an LP is unbounded or infeasible. Presolve methods are used prior to the application of an LP algorithm in order to: (i) eliminate redundant constraints, (ii) fix variables, (iii) transform bounds of single structural variables, and (iv) reduc...

The simplex algorithm is one of the top ten algorithms with the greatest influence in the twentieth century and the most widely used method for solving linear programming problems (LPs). Nearly all Fortune 500 companies use the simplex algorithm to optimize several tasks. This chapter presents the revised primal simplex algorithm. Numerical example...

In Section 2.6, we presented the basic duality concepts. This chapter extends these concepts and presents the dual simplex algorithm. The dual simplex algorithm is an attractive alternative for solving linear programming problems (LPs). The dual simplex algorithm is very efficient on many types of problems and is especially useful in integer linear...

Many Multi-Criteria Decision Making (MCDM) problems contain information about the criteria and/or the alternatives that is either unquantifiable or incomplete. Fuzzy set theory has been successfully combined with MCDM methods to deal with imprecision. The fuzzy VIKOR method has been successfully applied in such problems. There are many extensions o...

The aim of this paper is to propose a process to support decision making, in which System Dynamics is combined with Multi Criteria Decision Aid methods to mitigate the limitations of the two methodologies when used alone and find robust policies. The proposed process is based on Exploratory Modeling and Analysis, a framework that allows the use of...

This book offers a theoretical and computational presentation of a variety of linear programming algorithms and methods with an emphasis on the revised simplex method and its components. A theoretical background and mathematical formulation is included for each algorithm as well as comprehensive numerical examples and corresponding MATLAB® code. Th...

This chapter presents two advanced topics for better utilization of GPUs on computationally intensive applications: (i) profiling a code running on GPUs, and (ii) improving GPU performance. Didactical examples are given in this chapter for the reader to understand these topics. Moreover, best practices that you should follow to improve GPU performa...

This chapter presents the CUDA-accelerated libraries, like cuBLAS, cuFFT, cuRAND, cuSOLVER, cuSPARSE, NPP, and Thrust, that are incorporated into the CUDA Toolkit. These libraries provide highly optimized algorithms that can be incorporated into MATLAB applications through MEX files. Examples are presented for each library. After reading this chapt...

This chapter aims to explore GPU-enabled MATLAB functions on several toolboxes other than the Parallel Computing Toolbox, like the Communications System Toolbox, Image Processing Toolbox, Neural Network Toolbox, Phased Array System Toolbox, Signal Processing Toolbox, and Statistics and Machine Learning Toolbox. This chapter presents the GPU-enabled...

This chapter presents the software and hardware needed for GPU programming in MATLAB. Installation steps are presented for Windows, Linux, and MAC users. After reading this chapter, you should be able to:

This chapter explains how to create an executable kernel for a CUDA C code or PTX code and run that kernel on a GPU by calling it through MATLAB. Moreover, a brief introduction of CUDA C is presented. Furthermore, two classic examples, vector addition and matrix multiplication, are presented. After reading this chapter, you should be able to:

This chapter covers one of the most important topics of this book, the inherent GPU programming features that MATLAB provides. More specifically, this chapter introduces the GPU arrays, which are arrays that are stored on GPUs. These arrays can be used in computations by built-in MATLAB functions for GPUs, and element-wise MATLAB operations. This c...

This chapter explains how to create a MATLAB MEX file that contains CUDA code and run it on a GPU by calling it through MATLAB. Furthermore, two classic examples, vector addition and matrix multiplication, are presented. After reading this chapter, you should be able to:

This chapter introduces the key features of MATLAB’s Parallel Computing Toolbox. Task- and data-parallel applications can be parallelized using the features provided by Parallel Computing Toolbox. After reading this chapter, you should be able to:

This chapter covers a hot topic about utilizing multiple GPUs. In this chapter, we present the use of multiple GPUs both on a multicore machine and on different machines. Multiple GPUs are used to improve the performance on task- or data-parallel codes and when working with data that cannot fit in the memory of a single GPU. This chapter includes a...

This chapter introduces some key features of parallel programming and GPU programming on CUDA-capable GPUs. Furthermore, some real-world examples that can be accelerated through GPUs are presented. After reading this chapter, you should be able to:

Dantzig’s simplex algorithm was initially proposed in the late 1940s [1]. Since then, variants of this algorithm have been studied extensively by numerous researchers [2] and have become core routines in many optimization algorithms for linear, integer and nonlinear programming [3, 4]. Leading implementations such as CPLEX [5] are currently capable...

The computation of a starting basis for the simplex algorithm is of great importance. We propose six algorithms for constructing an initial basis using various ordering methods in order to generate a nearly-triangular and sparse initial basis. We give the initial bases as input to the CPLEX solver and compare the performance of the primal and dual...

GPU programming in MATLAB is intended for scientists, engineers, or students who develop or maintain applications in MATLAB and would like to accelerate their codes using GPU programming without losing the many benefits of MATLAB. The book starts with coverage of the Parallel Computing Toolbox and other MATLAB toolboxes for GPU computing, which all...

TOPSIS and VIKOR are two well-known and widely-used multiple attribute decision making methods. Many researchers have compared the results obtained from both methods in various application domains. In this paper, we present the implementation of a web-based decision support system that incorporates TOPSIS and VIKOR and allows decision makers to com...

This book presents real-world decision support systems, i.e., systems that have been running for some time and as such have been tested in real environments and complex situations; the cases are from various application domains and highlight the best practices in each stage of the system’s life cycle, from the initial requirements analysis and desi...

The Vehicle Routing Problem (VRP) is a well-known combinatorial optimization problem. The Capacitated Vehicle Routing Problem (CVRP) is a widely studied variant of the VRP. Although many Decision Support Systems (DSS) have been implemented to support decision makers solve real life problems of the VRP and its variants, these systems do not allow mu...

The Vehicle Routing Problem (VRP) is a well-known combinatorial optimization problem where a number of customers must be served with a fleet of vehicles. The classical variation of the VRP is the Capacicated Vehicle Routing Problem (CVRP) with the additional constraint that each vehicle must have uniform capacity. Many Decision Support Systems (DSS...

The Multiple Capacitated Facility Location Problem (MCFLP) iswell-known and studied in the international literature optimization problem. The geographical information data of the enterprises 'locations are usually either ignored by the modeler or entered manually in these systems. In this paper, a spatial Decision Support System (DSS) is designed a...

This paper concerns the ranking of the Information Technology (IT) departments of the Greek Technological Educational Institutes (TEI) using Multiple Criteria Decision methodologies. The radical changes that occurred in the Greek academia and society in general during the last years have left their marks on Greek higher education. The aim of this w...

Simplex type algorithms perform successive pivoting operations (or iterations) in order to reach the optimal solution. The choice of the pivot element at each iteration is one of the most critical step in simplex type algorithms. The flexibility of the entering and leaving variable selection allows to develop various pivoting rules. In this paper,...

Measuring computer network efficiency is of great importance for a network manager. When a detailed picture of the current state of the network is available, we can use analytical and simulated-based methods. Instead, it is more difficult to measure network efficiency, when the details of network topologies and internal characteristics are not avai...

The Multiple Capacitated Facility Location Problem (MCFLP) is a particular type of the facility location problem, which is well-known operations research problem with practical application in different fields. This paper explores the design issues faced during the development of a web-based Decision Support System (DSS) for the MCFLP. Designing the...

Linear programming algorithms have been widely used in Decision Support Systems. These systems have incorporated linear programming algorithms for the solution of the given problems. Yet, the special structure of each linear problem may take advantage of different linear programming algorithms or different techniques used in these algorithms. This...

Preconditioning techniques are important in solving linear problems, as they improve their computational properties. Scaling is the most widely used preconditioning technique in linear optimization algorithms and is used to reduce the condition number of the constraint matrix, to improve the numerical behavior of the algorithms and to reduce the nu...

The facility location problem is a widely studied classical operations research problem. To address this problem we implement an algorithm that calculates the exact solution for a given multiple capacitated facility location problem so long as that exists. Many issues of this problem belong to the NP-hard class of algorithms and as a result the com...

The vocational orientation of the youngsters who are about to enter, study, or have recently graduated at higher education (HE) institutions, and linking HE with labor market are two research areas which have not been investigated extensively in Balkan countries. Job (or occupational) profiles,among other tools used in vocational orientation, provi...

Pricing is a significant step in the simplex algorithm where an improving nonbasic variable is selected in order to enter the basis. This step is crucial and can dictate the total execution time. In this paper, we perform a computational study in which the pricing operation is computed with eight different pivoting rules: (i) Bland's Rule, (ii) Dan...

The vocational orientation of the youngsters who are about to enter, study,
or have recently graduated at higher education (HE) institutions, and linking
HE with labor market are two research areas which have not been investigated
extensively in Balkan countries. Job (or occupational) profiles, among other
tools used in vocational orientation, prov...

One of the most significant and well-studied optimization problems is the Linear Programming problem (LP). Many algorithms have been proposed for the solution of Linear Programming problems (LPs); the main categories of them are: (i) simplex-type or pivoting algorithms, (ii) interior-point methods (IPM) and (iii) exterior point simplex type algorit...

Linear Programming (LP) is a significant research area in the field of operations research. The simplex algorithm is the most widely used and well-studied method for solving Linear Programming problems (LPs). Many algorithms have been proposed for the solution of LPs. The vast majority of these algorithms belong to three main categories: (i) Simple...