Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
66aser99
1 / 1 / 1
Регистрация: 11.10.2013
Сообщений: 33
1

Метод SWOT

10.11.2013, 18:35. Просмотров 1033. Ответов 2
Метки нет (Все метки)

Всем доброго времяни суток. Имеется таблица с данными (пример, ноколичество строк и столбцов может быть больше):
_ А _ _ Б _
1212
136
2113
1411
711

и дано ограничение: сумма переменных А не должна превышать, допустим 50 (но стремиться максимально к ней приблизиться), а сумма переменных Б должна стремиться к максимуму ((строки находятся в соответствии)(решение задачи типа SWOT программирования))
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2013, 18:35
Ответы с готовыми решениями:

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

Написать три алгоритма решения СЛАУ: Метод прогонки, метод квадратных корней, метод вращений
Начал писать курсовую. Нужно написать три алгоритма решения СЛАУ: прогонки,...

Метод медиан из трех элементов VS улучшенный быстрый метод сортировки(метод Бентли-Макилроя)
Здравствуйте! Дали весьма интересное задание. Сравнить два вышеуказанных метода...

Мой код - метод бисекции, метод секущих (метод хорд)
Всем привет!!! Изучаем в институте С++. Сделал код, и там, и там одна и та же...

Метод хорд, метод касательных, метод половинного деления
Ребят помогите пожалуйста. Задали тему курсовой "Решение нелинейных уравнений...

2
66aser99
1 / 1 / 1
Регистрация: 11.10.2013
Сообщений: 33
12.11.2013, 16:07  [ТС] 2
ну суть сего метода лишь в том, что надо оптимизировать таблицу(оптимизация с булевыми переменными) по закону:
max(Сумм(xi*a/b)), где х-булева переменная( принимающая соотвтственно значения 0 и 1).

Добавлено через 57 минут
и дано некое ограничение на сумму значений А. (переменная А представляет собой цену, а Б эффективность)
0
66aser99
1 / 1 / 1
Регистрация: 11.10.2013
Сообщений: 33
24.11.2013, 21:49  [ТС] 3
Лучший ответ Сообщение было отмечено 66aser99 как решение

Решение

Кароче сделали такой вот код под эту проблему но он больше чем 5 строк данных не воспринимает, говорит что 512(в двоичной системе) не интеджер, а надо сделать чтобы он хотябы 10 строк брал.
Вот код:
Delphi
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
procedure TForm4.Button1Click(Sender: TObject);
var i1,i2,a,b,c,d,i,z,e5,O,F,j,m,Kdvoi,KL2,per2,kol,Mn:integer;
  V,per,per1,SumD,SumE,SumDMax,SumEMax,u,KL:real;
  St,k,KL1:string;
  Odin:string;
 begin
z:=Form2.ComboBox1.itemIndex+Form2.ComboBox2.itemIndex+2; //Количество строк строк
e5:=StrToInt(Form2.Edit1.Text);      //Откуда берем ограничение по бюджету
Odin:='0';
St:='';
SumDMax:=0;
SumEMax:=0;
  for i:=1 to z do
  begin
  St:=St+Odin;
  end;
  per1:=0;
  for i:=0 to (z-1) do
  begin
  per:=exp(i*ln(2));
  per1:=per1+per;
  end;
 
  O:=StrToInt(St);
  KL1:=FloatToStr(per1);
  KL2:=StrToInt(Kl1);
 
  for j:=1 to KL2 do
  begin
  per2:=j;
  St:='';
       while per2>=1 do
       begin
        u:=per2 mod 2;
        k:=FloatToStr(u);
        m:=StrToInt(k);
        KL:=(per2-m)/2;
        KL1:=FloatToStr(KL);
        per2:=StrToInt(KL1);
        St:=St+k;
      end;
     Kdvoi:=StrToInt(St);
     Mn:=Kdvoi;
     kol:=1;
     while Mn div 10 >0 do
     begin
        kol:=kol+1;
        Mn:=Mn div 10;
     end;
     Mn:=Kdvoi;
     SumD:=0;
     SumE:=0;
    For i:=kol downto 1 do
    begin
    V:=Mn mod 10;
    O:=StrToInt(StringGrid1.Cells[1,i]);       //Столбец цены
    F:=StrToInt(StringGrid1.Cells[2,i]);       //Столбец эффективности
    SumD:=SumD+O*V;
    SumE:=SumE+F*v;
    If (SumD<=e5) and (SumE>SumEmax) then
    begin
    SumDMax:=SumD;
    SumEMax:=SumE;
    end;
    Mn:=Mn div 10;
    end;
  end;
c:=0;
b:=0;
a:=Form2.ComboBox3.itemIndex+1;
d:=Form2.ComboBox4.itemIndex+1;
For i1:=1 to a do
begin
C:=StrToInt(Form3.StringGrid3.Cells[1,i1])+c;
end;
For i2:=1 to d do
begin
b:=StrToInt(Form3.StringGrid4.Cells[1,i2])+b;
end;
  Edit3.text:=FloatToStr(SumDMax);   //Оптимизированная стоимость
  Edit4.text:=FloatToStr(SumEMax+(SumEMax*((c+b)*0.01)));   //Оптимизированная эффективность
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2013, 21:49

Аналитический метод, метод половинного деления и метод итераций
Всем привет! Задача такая 1. Определить аналитическим путем точное решение...

Метод прямоугольников, метод Симпсона, метод трапеций
Есть варианты?

Метод итерации и метод Ньютона (метод касательных)
Помогите решить методом итерации и методом Ньютона выражение привиденное ниже:...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru