博文

目前显示的是 五月, 2017的博文

[CPP] Multiple Inheritance

图片
Multiple Inheritance In Java you can implement multiple interfaces but only extend one class In C++ you can inherit from(extend) multiple classes You will inherit all of the behaviour(i.e. function implementations), not just the interface. But be careful of multiple inheritance, because there are dangers, and confusing elements there may be easier ways(e.g. composition) There are multiple ways to support reuse of classes by new classes Composition/Aggregation Models the “has a” or “is a part of” relationship Composition is a stronger form • You need to expose the methods manually because they are on component objects Inheritance “is a” or “is a type of” ImplementationL Make the “type of” a sub-class Don’t use C-style casting to keep the code short! Use static_cast or dynamic_cast Dynamic cast will check(at runtime) that the pointer really is to an object of that type If you cast pointers or references when multiple inheritance is being used, then addres

[AIM] Cross-domain search and selection hyper-heuristics

图片
Day 6 Outline Cross-domain search: observations Hyper-heuristics - definition, origins A classification of hyper-heuristics Selection hyper-heuristics controlling perturbative heuristics Selection hyper-heuristics controlling constructive heuristics Cross-domain parameter tuning of a memetic algorithm Cross-domain search There are a lot of different search domain which needs new operators, search method and evaluation function. For example, flowshop scheduling, vehicle routing, nurse rostering, you can not use the same heuristic. Most of the real-world optimisation problems are proven to be NP-hard The current state of the art in search methodologies tend to focus on bespoke systems In general, these systems are expensive to build, but provide successful results . Unfortunately, their application to new problem domain still requires expert involvement A different heuristic might generate good performance on different problem instance A goal is raising the level of g

[AIM] Introduction

图片
Day 0 Content Definitions: Decision, Decision Making, Decision Support, Models Decision Making/Modeling Process Combinatorial Optimisation Heuristic Search Search Paradigms Pseudo-random Numbers Defintion A decision is defined as the choice of one among a number of alternatives. Decision Making is the process of choosing among alternative courses of action for the purpose of attaining a goal or goals. Every decision making process produces a final choice. The output can be an action or an opinion of choice. The term Decision support is used often and in a variety of contexts related to decision making. System Degree of independence of system Closed systems are totally independent Open systems dependent on their environment Evaluations of systems System effectiveness: the degree to which goals are achieved, i.e. result, output System efficiency: a measure of the use of input(or resources) to achieve outputs, e.g. speed Models Major characteristic of