Automated, tested, and deployed optimizations with multiple objectives
Course topics included:
Specialization: Artificial Intelligence, Fault-tolerant and Reconfigurable Systems, Data Fusion
Thesis: Optimizing Commercial Maritime Port Operations through High Level Information Fusion
Specialization: Artificial Intelligence – evolutionary algorithms
Thesis: A Hybrid Genetic Algorithm and Evolutionary Strategy to Automatically Generate Test Data for Dynamic, White-Box Testing
Majors: Computer Science, Logic
Minor: Mathematics
In order to remain profitable, commercial maritime ports must maintain high throughput of inbound vessels. The gantry cranes that load and unload the vessels are the primary point of interaction between a vessel and the port, which cause a critical bottleneck in the process flow. Errors in this segment of the process cause cascading delays which ultimately cause vessel service backlogs, extending to logistical delays in moving shipping containers across land and rail as well. This is to the detriment of the ports, which lose popularity among shipping lines and may even be fined for causing sub-optimal delays. This work expands on prior work in using a multi-objective genetic algorithm to optimise the parameters of a fuzzy system which controls port-side resource deployment. In contrast to existing solutions, this resource deployer is able to function online and adapt to real-world faults while still maintaining superior performance as compared to industry practice. Further, proposals to expand or reduce the port-side infrastructure are computed.
@article{panchapakesan2021optimising, title={Optimising commercial port operations through high-level information fusion}, author={Panchapakesan, Ashwin and Abielmona, Rami and Petriu, Emil}, journal={International Journal of Logistics Systems and Management}, volume={40}, number={2}, pages={242--265}, year={2021}, publisher={Inderscience Publishers (IEL)} }
Commercial maritime ports must maintain high service throughput in order to remain profitable. One of the most critical operations in a commercial maritime port is the loading and unloading of shipping containers on a vessel (i.e. servicing a vessel) and storing them in the storage yard. A delay in this process would cause cascading delays in servicing further vessels, causing delays in moving cargo across land, rail, and sea. Furthermore, the port itself may incur fines for allowing such delays in their operational procedure. This work highlights a Fuzzy System optimized by a Genetic Algorithm to adaptively control the deployment of quay cranes (and their operators and all other supporting equipment and personnel) to optimize the time required to service a vessel, while simultaneously reducing the operational costs of doing so.
@inproceedings{panchapakesan2019optimizing, title={Optimizing Maritime Vessel Service Time with Adaptive Quay Crane Deployment Through Level 4 Hard-Soft Information Fusion}, author={Panchapakesan, Ashwin and Abielmona, Rami and Petriu, Emil}, booktitle={2019 22th International Conference on Information Fusion (FUSION)}, pages={1--8}, year={2019}, organization={IEEE} }
A company operating in a commercial maritime port often experiences clients filing insurance claims on damaged shipping containers. In this work, multiple classifiers have been trained on synthesized data, to predict such insurance claims. The results show that Random Forests outperform other classifiers on typical machine learning metrics. Further, insights into the importance of various features in this prediction are discussed, and their deviation from expert opinions. This information facilitates selective information collation to predict container claims, and to rank data sources by relevance. To our knowledge, this is the first publication to investigate the factors associated with container damage and claims, as opposed to ship damage or other related problems.
@inproceedings{panchapakesan2018prediction, title={Prediction of Container Damage Insurance Claims for Optimized Maritime Port Operations}, author={Panchapakesan, Ashwin and Abielmona, Rami and Falcon, Rafael and Petriu, Emil}, booktitle={Canadian Conference on Artificial Intelligence}, pages={265--271}, year={2018}, organization={Springer} }
Evolutionary algorithms are a class of algorithms that try to mimic natural, biological evolution a la Darwinian natural selection, to compute solutions to a given problem. They are especially useful when no well known strategies for computing solutions to such a problem exist. Evolutionary algorithms begin by creating a collection (population) of candidate solutions to the problem at hand; and through repeated application of genetic operators such as crossover and mutation, they iterate over multiple generations of this population, until they eventually converge onto an attractive solution. One important problem facing code implementing Evolutionary Algorithms is that due to the dynamic nature of the individual chromosomes in a population, simple coding errors lead to complex bugs that are difficult to both diagnose and debug. This problem is only exacerbated when attempting to develop the algorithms in a dynamically typed language such as Python. This paper presents a novel Evolutionary Algorithm framework for the Python programming language that implements design-by-contract, a paradigm in which each function and class must follow a contractual set of pre-conditions and post-conditions. Failure to follow the contract causes an error condition identifying the violated clause, thereby catching bugs earlier in the development process and in a more descriptive manner.
@inproceedings{panchapakesan2013python, title={A python-based design-by-contract evolutionary algorithm framework with augmented diagnostic capabilities}, author={Panchapakesan, Ashwin and Abielmona, Rami and Petriu, Emil}, booktitle={2013 IEEE Congress on Evolutionary Computation}, pages={2517--2524}, year={2013}, organization={IEEE} }
Software testing is an important and time consuming part of the software development cycle. While automated testing frameworks do help in reducing the amount of programmer time that testing requires, the onus is still upon the programmer to provide such a framework with the inputs upon which the software must be tested. This requires static analysis of the source code, which is more effective when performed as a peer review exercise and is highly dependent on the skills of the programmers performing the analysis. It also demands the allocation of precious time for those very highly skilled programmers. An algorithm that automatically generates inputs to satisfy test coverage criteria for the software being tested would therefore be quite valuable, as it would imply that the programmer no longer needs to analyze code to generate the relevant test cases. This thesis explores a hybrid evolutionary strategy with an evolutionary algorithm to discover such test cases , in an improvement over previous methods which overly focus their search without maintaining the diversity required to cover the entire search space efficiently.
@inproceedings{panchapakesan2013dynamic, title={Dynamic white-box software testing using a recursive hybrid evolutionary strategy/genetic algorithm}, author={Panchapakesan, Ashwin and Abielmona, Rami and Petriu, Emil}, booktitle={2013 IEEE Congress on Evolutionary Computation}, pages={2525--2532}, year={2013}, organization={IEEE} }
Engaged Ottawa's 9th Brownie Unit in a STEM (Science, Technology, Engineering, Mathematics) workshop.
Topics included:
Talked to middleschool students at Metcalfe Public School (Ottawa, Canada) about effective computation.
Topics included:
Presented stochastic combinatorial search algorithms to undergraduate students at the University of Ottawa, in an event set up by the undergraduate Computer Science Student's Association.
Topics included:
A seminar for graduate students on
All in the service of optimizing consistent throughput
An overview of metaheuristic search methods. Topics included:
Improving Shipping Container Damage Prediction Through Machine Learning based Level 4 Information Fusion
Improving Shipping Container Damage Prediction Through Machine Learning based Level 4 Information Fusion
A Python-Based Design-by-Contract Evolutionary Algorithms Framework with Augmented Diagnostic Capabilities
A Hybrid Genetic Algorithm and Evolutionary Strategy to Automatically Generate Test Data for Dynamic, White-Box Testing
A Hybrid Genetic Algorithm and Evolutionary Strategy to Automatically Generate Test Data for Dynamic, White-Box Testing
Skied 10 hills/mountains in Canada and USA
Learned to cook by watching cooking shows and reading blogs, but not this one
President of the Computer Science Graduate Students' Association of the University of Ottawa.
Played a minor supporting role in a regional Tamil movie in Chennai, India