📜 ⬆️ ⬇️

Intelligent Project Management and Simulation Modeling



Introduction


This article is planned as the first publication in a series of articles on intelligent project management.
The publication will briefly discuss the issues of simulation modeling of project management (UE) and the intellectualization of UE.

It is assumed that the reader is superficially familiar with the theory of project management and system analysis, as well as possible with the design of information systems. In-depth knowledge of all or one of the directions may cause an overwhelming desire to write a comment, which is welcome! ... or to launch into the author with something heavy ...
So let's get started.

1. Model of the project


In accordance with PMBoK 5 (1), several areas of project management knowledge are distinguished (we will not touch upon all of them). In each of the areas, the project is viewed from different angles, all kinds of entities / objects, management methods and their influence on the project are identified, as a way of organizing work to achieve a specific goal or solve a problem. Here we only briefly describe the typical objects that can be distinguished in project management, their characteristics, interconnections, as well as the general mechanics of simulation and compliance with its project life cycle.
')
Typical objects and their characteristics
The project has the following characteristics: manager, name, type, planned start date, actual start date, planned end date, actual end date, current state of the life cycle, initial project balance, current project balance.
Estimated or determined on the basis of other objects characteristics: the project team, the percentage of the volume of work completed, the backlog or advance in terms of the volume of work performed, the backlog or advance in terms of time, the planned cost
Task / Work - here you can see similar characteristics with the project, to which the following are added: inspector, executive in charge, type of work performed, project, place, percentage of readiness.
Calculated or determined on the basis of other objects characteristics: the sequence of execution within the project, the composition of the performers, the history of state changes, the cost of the task / work.
Material resource (fixed assets): type of object, date of registration, date of commissioning, name, book value.
Calculated or determined: depreciation, current state where it is involved now, schedule of use.
Consumable resource (raw materials, spare parts): resource type, initial stocks, location, delivery date, shelf life.
Calculated or determined: current reserves, rate of expenditure
Staff : full name, permanent placement.
Calculated or determined: availability for work, compatibility with other employees, current placement for the time of work, where it is involved, work schedule.
Risk : probability of occurrence, price of damage, description, duration of influence, risk trigger indicator.
Calculated or determined: measures to eliminate the consequences, measures to prevent the occurrence or evasion, cost, implementation time.

Relationships and dependencies
Project- [1: M] -problem - performed in the constraints of the timing of the project.
Task- [1: M] -task - can have a hierarchical connection (vertical), can have a connection in the form of an indication of the sequence of execution (horizontal).
The material resource [M: M] -task is linked through the relation of the schedule to the task with the indication of the schedule of use.
Consumable resource- [M: M] -task - is linked through the relationship of the schedule to the task, indicating the necessary margin for its implementation.
Personnel- [M: M] -task — can be involved in several tasks, for which the work schedule and the percentage of use in the task are indicated.
Risk- [M: M] - [Object] - when specifying the relationship with [Object], the probability of occurrence is indicated.
Of course, this is not a complete list of objects.


Mechanics
Each simulation cycle corresponds to a fixed time - 1 day / hour of the project being executed. To do this, we take all the terms, and the intervals in the project are multiples of 1 day / hour. The simulation cycle diagram is shown below:

The simulation cycle is as follows:
  1. Set the initial values ​​for the project for the simulation. A project is created, a project schedule, a risk tree are prepared. At this stage, the functions of intellectual support for project management are also available, but this step cannot be performed without DM.
  2. The iteration begins with the determination of effective values.
  3. Performing tact Each simulation cycle performs the following operations:
    • resources are spent on tasks
    • the probability of failures (risks) is checked,
    • A certain amount of work is performed from the list of works on the project,
    • financial operations under the project are carried out.

  4. Saved calculated values ​​for a certain measure
  5. Check the conditions for completing the simulation.
  6. Completion of modeling and output of results (analytical, aggregated and detailed values ​​by modeling steps). At the end of the simulation, the last (final) values ​​and the reasons for the termination of the simulation are saved.
  7. Providing the user (or decision maker - decision maker) information about the state of the project without using optimizations, analytics modules and decision support. The user needs to react to the current state (if necessary) or to continue the simulation.
  8. Evaluation of user management decisions based on current values, as well as retrospectives of their changes and management decisions made by the user using optimization algorithms, modules of analytics and decision support.

In accordance with the project life cycle, we will distinguish between:


General remarks
All the data of the intermediate simulation steps are stored and accumulated within the current simulation. In the further work of optimization algorithms (at the 8th step of the simulation cycle), data of both current and previous completed simulations can be used (corrected for the result of the completion of the simulation).
With several simultaneous works of the project, the simulation for them is performed as if in parallel (i.e., simultaneous execution is simulated), in the absence of differences on the resources used.
With several employees / types of resources, modeling is performed for each of them in parallel (i.e., consumed simultaneously), if there are no differences on the resources used.

2. Implementation technologies



Main issues addressed:

It is easy to see the objects of the project and the connections between them are easy to imagine in the form of relational database relations and it is also not difficult to store in this form, i.e. there will be enough relational DB - MySQL, for example.
For the development of the interface, choose the framework Yii 2 (and the corresponding technology stack - PHP, HTML, etc.).
Simulation Server Implementation - Node.js
Realization of a neural network for Node.js, for example - habrahabr.ru/post/193738
Interaction with frontend (Yii2) and Node.js - github.com/oncesk/yii-node-socket
The question remains about the storage format of the neural network itself, which imposes the following requirements:
  1. Reflection of the properties of the neural network (interconnection, weight of connections, etc.)
  2. Secure access (exclude the direct impact of the user on the network)
  3. Fast loading of neural network into memory.
  4. Ability to learn the network.


3. Control logic


For each of the knowledge areas of project management, there are problem statements and the described mathematical methods for solving them, with which the author is superficially familiar. Depending on the management model, knowledge of these rules and methods for solving problems should be redistributed between the system and the user. Management models are highlighted as follows: (1)
  1. management with notifications - the system does not affect the object (project), but displays notifications about changes in indicators and the ability to perform actions (decision making and maximum knowledge is required of the decision maker).
  2. interactive control - the system offers control actions, but the decision remains for the decision maker (decision making remains for the decision maker).
  3. heuristic management - the system makes decisions and performs some actions independently (the decision maker is excluded from the management process).

The implementation of the management itself consists in monitoring and analyzing the totality of the project characteristics and evaluating their deviation from the “normal” for the given time, taking into account the dynamics of their change. The control actions are selected on the basis of the data obtained (that is, if such a combination of characteristics of any action is consistent), similar projects with similar situations and their decisions are analyzed as well. In accordance with the degree or level of deviation can be applied to these or other methods of exposure:
  1. Redistribution of resources between tasks;
  2. Redistribution of labor resources between tasks;
  3. Change the schedule of tasks;
  4. Procurement planning;
  5. Evasion or taking measures to eliminate the consequences of risks.

For impact methods, such characteristics are important: the degree of compliance with the situation, the duration of implementation, the cost of implementation, the possible time to start implementation. To determine the applicable method of exposure is important:
  1. Specified by experts characteristics.
  2. Availability of information in the accumulated database of completed projects.

These mechanisms are logical to build using neural networks and fuzzy logic. These algorithms can be used both at the stage of initialization and planning of the project, and at the stage of its implementation. It is possible to perform an analysis - how to change the characteristics after applying the control action.

4. Intellectualization of imitation


So at the stage of execution of a stroke, the decision maker may be completely excluded from the management process. What is necessary for this? To simulate events, we need to clarify some characteristics (approximate). To perform control actions, the system must “know” some additional information regarding the subject area, for example:
1. Redistribution of resources between tasks.

2. The redistribution of labor resources between tasks.

3. Changing the schedule of tasks.

4. Procurement planning.

5. Evasion or taking measures to eliminate the consequences of risks.

This is not an exhaustive list of tasks. Here it is also necessary to note the fact that there can be no universal solution for any project, and what is good for one project is death for another. So certain key characteristics, their aggregates, and their meanings are needed, which would allow typing and classifying, selecting similar projects for training the system, for example:

Not the last role will be played by the factor of uncertainty as the characteristics described above, and the characteristics of the project itself.

5. Multi-agent


As noted above, the differences in the use of resources can be both within the project between tasks and between different projects using the same resources. To simplify work with resources, we will allocate an agent, which we will call “Resource Arbitrator”. It will be the “Projects” agents who will turn to him for the necessary resources, which will make it possible to reallocate even reserved resources depending on the importance (criticality) of the tasks or projects being performed.


Conclusion


What will give such simulation or simulation of project management? The answer is simple:
  1. management with notifications - can be used as training or testing of decision makers on knowledge of certain principles or the ability to solve problems associated with project management.
  2. interactive management - working out some practices and checking them on the model. This will make it possible to change the model to suit the situation, or vice versa, to assess the ownership of the methods of solving the tasks of the UE to the decision maker himself (self-test).
  3. Heuristic control is the possibility of a large number of simulation launches and the accumulation of certain experience (data) about these simulations for their further analysis.

However, the imitation and simulation itself is not the ultimate goal. As a result of the accumulation of fairly accurate simple and complex models in the base of simulation, development and debugging of the behavior of the simulation model and modules for interactive interaction and heuristic control (without DM), it is possible to use accumulated rules and algorithms to control (or intelligent control support) real projects ( 3).
The implementation of such a system in the form of a SaaS solution, with the involvement of a certain number of participants, will allow access to the work experience (impersonal) of other participants (with the possibility of learning the system).

List of sources used


  1. pmlead.ru/?p=1521 . [In the Internet]
  2. www.aaai.org/ojs/index.php/aimagazine/article/view/564 . [In the Internet]
  3. us.analytics8.com/images/uploads/general/US_2010-10_Whitepaper_BI_Project_Management_101.pdf . [In the Internet]

Source: https://habr.com/ru/post/293270/


All Articles