9 DESARROLLO DEL PROCESO CONTABLE
ELEMENTOS PARA ELEGIR EL PROCEDIMIENTO DE PROCESAMIENTO:
2.5. IMPUESTOS TRIBUTARIOS
2.5.1. IMPUESTO AL VALOR AGREGADO (IVA)
Except the exact methods we introduced above, a combinatorial optimisation problem coming from real life can be solved efficiently by heuristic methods which are generally based on two basic principles: heuristics/constructive heuristics and local search methods.
As we introduced in section 2.4.2, in the dictionary [35], heuristic is defined as “a ‘rule of thumb’ based on domain knowledge from a particular application, which gives guidance in the solution of a problem.... Heuristics may thus be very valuable in most of the time but their results or performance cannot be guaranteed.”
Reeves [31] defines heuristic as “a technique which seeks good (i.e. near-optimal) solutions at a reasonable computational cost without being able to guarantee either feasibility or optimality, or even in many cases to state how close to optimality a particular feasible solution is”.
Heuristics/constructive heuristics are typically the fast approximate methods. They generate the solutions from scratch by opportunely defined solution components to an
initially empty solution. This is being done iteratively until a solution is completed or other stop criteria are met. A well known constructive heuristic is greedy heuristic. An example of greedy heuristic is the nearest neighbour heuristic for the travelling salesman problem.
Constructive heuristics are usually very fast, but they often return the solutions of inferior quality. Local search methods start from some initial solutions and iteratively try to replace the current solution with a better one in an appropriately defined
neighbourhood of current solution. Fig. 2.5 presents the high-level template of local search [36]. In the generation phase, a set of candidate solutions are generated from the current solution s. This set C(s) is generally obtained by local transformations of the solution. In the replacement phase, a selection is performed from the candidate solution setC(s) to replace the current solution. This process iterates until a given stop condition [6]. The common concepts for local search are the definition of the neighbourhood
structure and theinitial solution.
Fig. 2.5 High-level template of local search [36]
The definition of the neighbourhood is a common and important ingredient of local search. The neighbourhood structure plays a crucial role in the performance of local search. If the neighbourhood structure is not adequate to the problem, local search maybe fail to solve the problem [6, 36].
Definition 10 NeighbourhoodA neighbourhood functionNis a mappingN:S 2Sthat assigns to each solutionsofSa set of solutionsN(s)S.
High-level template of local search Input:initial solution s0.
t=0; Repeat
Generate (C(st));// generate candidate solutions
st+1=Select (C(st));// select solution fromC(st) to replace the current solutionst t=t+1;
Untilstopping condition met Output: Best solution found
A solution s’ in the neighbourhood of s (s’N(s)) is called a neighbour of s. A neighbour is generated by the application of a move operator that performs a small perturbation to the solution s. For more properties and design of neighbourhood structure, we refer to book [36].
Usually, two main strategies are used to generate initial solution: a random and a greedy approach. There is always a trade-off between the use of random and greedy initial solution in terms of the quality of solutions and computational time. Generating a random initial solution maybe quick, but the local search may take much larger number of iterations to converge. In some constrained optimisiation problems, it is difficult to generate random solutions that are feasible. In this case, greedy algorithms are an alternative to generate feasible initial solutions [6].
The most basic local search method is usually callediterative improvement local search, since each move is only performed if the resulting neighbour solution is better than the current solution. There are typically two ways to choose the neighbour. One is first- improvement. A function scans the neighbourhood of current solution and returns the first solution that is better than current solution. The other is best-improvement. It explores the neighbourhood and returns the solution with best objective function value.
To prevent these simple local search methods from getting trapped at local optima, many advanced heuristic approaches, called meta-heuristics (or extensions of local search), have been developed [6, 30, 37]. In this thesis, the term local search includes the meta-heuristics.
In [6], meta-heuristics are defined as: “solution methods that orchestrate an interaction between local improvement procedures and higher level strategies to create a process capable of escaping from local optima and performing a robust search of a solution space” or “… any procedures that employ strategies for overcoming the trap of local optimality in complex solution space, especially those procedures that utilise one or
more neighbourhood structures as a mean of defining admissible moves to transition from one solution to another or to build or destroy solutions in constructive and destructive processes”.
Heuristic and meta-heuristic methods have been investigated in recent years for tackling many hard problems, especially those combinatorial in nature. During the last 20 years many meta-heuristic approaches have been proposed. One commonly used classification distinguishes between single-point and population-based [38]. The former refers to the search methods that only maintain a single solution at each iteration while the latter manipulates a population of solutions. Examples of single-point approaches include simulated annealing, tabu search, Variable Neighourhood Search and large neighbourhood search, etc. [30]. Evolutionary algorithms, ant colony optimisation, and scatter search [6] can be regarded as population based methods.