Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/50: Рейтинг темы: голосов - 50, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 09.05.2012
Сообщений: 74
1

Транспортная задача(метод минимального элемента)

01.04.2013, 12:26. Показов 9599. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Нужно написать задачу, которая методом минимального элемента составит опорный план для транспортной задачи.
Не получается чёт, можете посмотреть, помочь?
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
void __fastcall TForm1::Button5Click(TObject *Sender)
{double min;
int sb, st, shag,g,sum;
 
for  (i=0;i<m-1;i++)
     StringGrid2->Cells[i][n-1]=IntToStr(b[i]);
    for  (i=0;i<n-1;i++)
     StringGrid2->Cells[m-1][i]=IntToStr(a[i]);
 
 
min=tar[0][0];
shag=(m-2)+(n-2)-1;
for (int g=0;g<=shag;g++)
{
for(int i=0;i<n-1;i++)
  for(int j=0;j<m-1;j++){
  if (min==-1){min=tar[i][j];}
  if (tar[i][j]<=min && tar[i][j]>-1) {
  min=tar[i][j]; sb=j; st=i;
  ShowMessage(min);
  } }
//çàïîëíåíèå òàáëèöû
if (a[sb]<=b[st]){
itog[st][sb]=a[sb];
b[st]-=a[j];
}
else{
itog[sb][st]=b[sb];
a[st]-=b[sb];
}  tar[st][sb]=-1;
min=-1;
for(i=0;i<=n-2;i++)
  for(j=0;j<=m-2;j++)
  StringGrid2->Cells[j][i]=FloatToStr(itog[i][j]);
  Edit4->Text=min;
  Edit5->Text=sb;
  Edit6->Text=st;
}
/*for(int i=1;i<=m-2;i++)
  for(int j=1;j<=n-2;j++)
  if(itog[i][j]!=-1)
sum+=itog[i][j]*mas[i][j]; */
}
//Edit3->Text=FloatToStr(sum);
Ну ваще нужно очень.

Вот прога сама
Вложения
Тип файла: rar ТранспортнаяПутинцев - копия.rar (365.7 Кб, 223 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.04.2013, 12:26
Ответы с готовыми решениями:

Транспортная задача: метод северо-западного угла
Здесь уже была похожая тема, но там так и нет ответа. Программа делает только одну итерацию. //libraries #include &lt;stdafx.h&gt; ...

ТЗЛП: метод минимального элемента
hi all! Мне нужна помощь в решении транспортной задачи линейного программирования методом минимального элемента в строке. Прикладываю...

Метод потенциалов Транспортная задача
Как можно найти цикл в матрице ? нехватает этой чудо функций

3
1 / 1 / 0
Регистрация: 09.05.2012
Сообщений: 74
01.04.2013, 16:38  [ТС] 2
всё сделал.
0
 Аватар для ЛенКа1505
1 / 1 / 0
Регистрация: 17.01.2014
Сообщений: 7
21.04.2014, 14:35 3
взяла за основу ваш код и запуталась....если вам не трудно подскажите мне...
0
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 1
31.05.2019, 09:26 4
Вот моя реализация, но она написана на Java в NetBeans.

Java Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
package javaapplication4;
 
/**
 *
 * @author Lain_Iwakura
 */
public class JavaApplication4 {
 
    public static int[][] x = new int[][] // инициация матрицы тарифов перевозок
    {{0, 30, 80, 65, 35, 40}, // заявки
    {60, 8, 12, 4, 9, 10},
    {40, 7, 5, 15, 3, 6},
    {100, 9, 4, 6, 12, 7},
    {50, 5, 3, 2, 6, 4},};
    //запасы 
 
    public static int[][] x2 = new int[][] // инициация матрицы тарифов перевозок
    {{0, 300, 150, 100, 200,}, // заявки
    {400, 4, 3, 2, 12,},
    {200, 10, 10, 4, 7},
    {100, 12, 10, 11, 5},
    {50, 0, 0, 0, 0}
    };
    //запасы  
 
    public static int[][] x1 = new int[][] // инициация матрицы тарифов перевозок
    {{0, 20, 35, 40, 12, 15}, // заявки
    {25, 4, 8, 5, 6, 7},
    {32, 5, 6, 6, 8, 9},
    {42, 4, 8, 7, 8, 5},
    {23, 7, 4, 5, 7, 9}
 
    };
    //запасы  
 
    public static int[][] c; // дополнительная матрица
    public static int min = 999;
    public static int index_min_i = 0;
    public static int index_min_j = 0;
 
    public static void main(String[] args) {
        printMas(x);// вывод матрицы
        c = new int[x.length-1][x.length];// инициация матрицы результатов
        System.out.println("A: " + summaStocks(x));
        System.out.println("B: " + summaRequest(x));
 
        if (open(x)) {
            System.out.println("Задача была открытая и приведена к закрытой");
        } else {
            System.out.println("Задача закрытая");
        }
 
        while ((summaStocks(x) != 0) && (summaRequest(x) != 0)) { // считаем пока есть запасы и заявки
            findMin(x); // нахождение минимального элемента
            System.out.println("Минимальный равен " + min + " = [" + index_min_i + "]" + "[" + index_min_j + "]");
            if (x[index_min_i][0] < x[0][index_min_j]) { // заявка меньше запаса 
 
                c[index_min_i - 1][index_min_j - 1] = x[index_min_i][0];
                x[index_min_i][index_min_j] = 0;
                x[0][index_min_j] -= x[index_min_i][0];
                x[index_min_i][0] = 0;
 
            } else {
                c[index_min_i - 1][index_min_j - 1] = x[0][index_min_j];
                x[index_min_i][index_min_j] = 0;
                x[index_min_i][0] -= x[0][index_min_j];
                x[0][index_min_j] = 0;
            }
 
            summaStocks(x);  // сумма запасов
            summaRequest(x); // сумма заявок
            // printMas(x);
            //  printMas(c);     
            //  System.out.println("A: " + summaStocks(x));
            //  System.out.println("B: " + summaRequest(x)); 
        }
        printMas(c);
 
        // printMas(x);
    }
 
    // функция для вывода двумерной матрицы
    public static void printMas(int[][] mas) {
        System.out.println("Ваша матрица оценок:");
        System.out.println("══───────────────══ ");
        for (int i = 0; i < mas.length; i++) {
            for (int j = 0; j < mas[i].length; j++) {
                System.out.print(" " + mas[i][j] + "\t");
            }
            System.out.println();
        }
        System.out.println("══───────────────══ ");
    }
 
    // нахождение минимального элемента
    public static int findMin(int[][] mas) {
        min = 999;
        for (int i = mas.length - 1; i > 0; i--) {
            for (int j = mas[0].length - 1; j > 0; j--) {
                if ((mas[i][0] != 0) && (mas[0][j] != 0)) {
                    if ((mas[i][j] < min)) {
                        min = mas[i][j];
                        index_min_i = i;
                        index_min_j = j;
                    }
                }
            }
        }
        return (min);
    }
 
    // сумма запасов
    public static int summaStocks(int[][] mas) {
        int temp = 0;
        for (int j = 0; j < x.length; j++) {
            temp += mas[j][0];
        }
        return (temp);
    }
 
    // сумма заявок
    public static int summaRequest(int[][] mas) {
        int temp = 0;
        for (int j = 0; j < x[0].length; j++) {
            temp += mas[0][j];
        }
        return (temp);
    }
 
    // проверка на открытость    
    public static boolean open(int[][] mas) {
        for (int i = 0; i < mas.length; i++) {
            for (int j = 1; j < mas[i].length; j++) {
                if (mas[i][j] == 0) {
                    return (true);
                }
            }
        }
        return false;
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.05.2019, 09:26
Помогаю со студенческими работами здесь

Задача на сортировку массива по возрастанию методом выбора минимального элемента. Не правильно работает код
Моя задача отсортировать массив методом выбора минимального элемента. Он заключается в следующем. Ищем в массиве минимальный элемент и...

Определить номера минимального элемента массива и элемента, являющегося минимальным без учета этого элемента.
Дан массив. Определить номера минимального элемента массива и элемента, являющегося мини-мальным без учета этого элемента.

Транспортная задача
Всем привет) Пишу решение транспортной задачи по методу минимального элемента. Сейчас нахожусь на стадии заполнения матрицы перевозок....

Транспортная задача
Здравствуйте! Помогите пожалуйста составить задачу методом минимального элемента и методом потенциалов с улучшением плана и правильным...

Транспортная задача
Всем добрый день! Второй месяц не могу справиться, помогите пожалуйста. Очень нужна программа к этой задаче! Заранее спасибо!...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Вопросы на собеседовании по Android
mobDevWorks 14.03.2025
По данным статистики, Android занимает более 70% мирового рынка мобильных операционных систем, что делает платформу привлекательной как для начинающих разработчиков, так и для опытных профессионалов. . . .
Лучшие игровые движки для Python
py-thonny 14.03.2025
Python обеспечивает разработчиков игр мощными движками и фреймворками, которые позволяют воплотить практически любую идею — от простой аркады до визуального романа с разветвленным сюжетом. Главное. . .
Бессерверный JavaScript: Разработка масштабируемых API с AWS Lambda
run.dev 14.03.2025
Но что такое бессерверные вычисления на самом деле? По сути, это модель облачных вычислений, где разработчик фокусируется исключительно на создании бизнес-логики, не тратя время на настройку. . .
Безопасность кода в C++26: Менеджеры ресурсов и висячие ссылки
NullReferenced 14.03.2025
C++ всегда был языком, предоставляющим разработчикам большие возможности и гибкость, но вместе с тем требующим ответственности. Одной из самых коварных проблем даже для опытных программистов остаются. . .
smart-agent proper interface settings (2025)
jigi33 14.03.2025
Smart-agent proper interface settings (mart 2025). (see screenshots to look at "Etalon" ARM)
Продвинутые настройки JVM
Javaican 14.03.2025
Стандартные параметры запуска JVM хороши для повседневной разработки, но совершенно недостаточны для высоконагруженных систем. Представьте, что вы запускаете финансовую платформу, обрабатывающую. . .
CI/CD для приложений Java с Azure DevOps и Docker
Mr. Docker 14.03.2025
Разработка современных Java-приложений немыслима без системы непрерывной интеграции и доставки (CI/ CD). Azure DevOps в сочетании с Docker предоставляет мощный инструментарий для создания таких. . .
Разработка на PHP и интернет вещей (IoT)
Jason-Webb 14.03.2025
Интернет вещей (IoT) произвел настоящую революцию в способах взаимодействия устройств с окружающим миром. В эпоху, когда холодильники сами заказывают молоко, а термостаты учатся вашим привычкам,. . .
Node.js 20: Новые возможности и улучшения производительно­сти
Reangularity 14.03.2025
Что же принёс нам релиз Node. js 20? В первую очередь, это существенные улучшения в производительности. Движок V8 получил серьёзные оптимизации, благодаря чему JavaScript-код выполняется заметно. . .
Безопасность кластеров Apache Kafka
Javaican 14.03.2025
Apache Kafka стал одним из ключевых компонентов современных архитектур, обрабатывающих потоки данных в режиме реального времени. Его используют тысячи компаний от стартапов до технологических. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер